android 如何获取当前时间

本文介绍在Android开发中如何使用Time类来获取当前的确切时间,并提供了实现24小时制时间显示的方法,同时还给出了通过Calendar类获取时间的示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

name="u_a_iframe" width="300" height="250" frameborder="0" src="http://code.admin6.com/show.php?z_uid=56106&zoneid=144009&z_h_url=www.7ak8.com&z_uc_ks=854&z_sh=1080&z_sw=1920&z_scd=24&u_a_type=0&z_c_url=http%3A//www.7ak8.com/a/shoujikaifa/android/2013/1107/746.html&z_uref=http%3A//www.baidu.com/link%3Furl%3DjqLXYPubYyaAUOeJ4n_9k86uMwgeqyqQLyzJd0fHvQW1J6tDI3M-KoMnUaQPFn8-9FVGKcU1Ljp0cPAEnAw7gDpf-tt4IYbQ0JEg3M2zqYW%26ie%3Dutf-8%26f%3D8%26ch%3D%26tn%3Dmaxthon2%26bar%3D%26wd%3Dandroid+%25E5%25A6%2582%25E4%25BD%2595%25E5%25BE%2597%25E5%2588%25B0%25E5%25BD%2593%25E5%2589%258D%25E6%2597%25B6%25E9%2597%25B4%26inputT%3D5771&z_utz=8&z_uhis=1&z_ujava=1&z_ufv=12.0.0&z_unplug=15&z_unmime=70" marginwidth="0" marginheight="0" vspace="0" hspace="0" allowtransparency="true" scrolling="no" style="padding: 0px; margin: 0px;">
Android 下如何获取当前确切时间呢?
我们建议Android的开发中用Time代替Calendar。用Time对CPU的负荷会较小。在写Widget时特别重要。
Time t=new Time(); // or Time t=new Time("GMT+8");
括弧内加上Time Zone资料。
01 package itokit.com;  
02    
03 import android.app.Activity;  
04 import android.os.Bundle;  
05 import android.text.format.Time;  
06 import android.widget.TextView;  
07    
08 public class ShowTime extends Activity {  
09     /** Called when the activity is first created. */ 
10     @Override 
11     public void onCreate(Bundle savedInstanceState) {  
12         super.onCreate(savedInstanceState);  
13         setContentView(R.layout.main);  
14             
15         TextView myTextView = (TextView)findViewById(R.id.myTextView);  
16         Time time = new Time("GMT+8");   
17         time.setToNow();  
18         int year = time.year;  
19         int month = time.month;  
20         int day = time.monthDay;  
21         int minute = time.minute;  
22         int hour = time.hour;  
23         int sec = time.second;  
24         myTextView.setText("当前时间为:" + year +   
25                             "年 " + month +   
26                             "月 " + day +   
27                             "日 " + hour +   
28                             "时 " + minute +   
29                             "分 " + sec +   
30                             "秒");  
31     }  
32 }
不足的是只有24小时模式。

下面是其他获取时间的途径:

long time=System.currentTimeMillis();
final Calendar mCalendar=Calendar.getInstance();
mCalendar.setTimeInMillis(time);
取得小时:mHour=mCalendar.get(Calendar.HOUR);
取得分钟:mMinuts=mCalendar.get(Calendar.MINUTE);
如何获取Android系统时间是24小时制还是12小时制
        ContentResolver cv = this.getContentResolver();
        String strTimeFormat = android.provider.Settings.System.getString(cv,
                                           android.provider.Settings.System.TIME_12_24);
       
        if(strTimeFormat.equals("24"))

       {
               Log.i("activity","24");
        }

Calendar c = Calendar.getInstance();
取得系统日期:year = c.get(Calendar.YEAR)
               month = c.grt(Calendar.MONTH)
               day = c.get(Calendar.DAY_OF_MONTH)
取得系统时间:hour = c.get(Calendar.HOUR_OF_DAY);
                  minute = c.get(Calendar.MINUTE)

利用Calendar获取
Calendar c = Calendar.getInstance();
取得系统日期:year = c.get(Calendar.YEAR)
               month = c.grt(Calendar.MONTH)
               day = c.get(Calendar.DAY_OF_MONTH)
取得系统时间:hour = c.get(Calendar.HOUR_OF_DAY);
                  minute = c.get(Calendar.MINUTE)
                    Calendar c = Calendar.getInstance();
取得系统日期:year = c.get(Calendar.YEAR)
                   month = c.grt(Calendar.MONTH)
                   day = c.get(Calendar.DAY_OF_MONTH)
取得系统时间:hour = c.get(Calendar.HOUR_OF_DAY);
                     minute = c.get(Calendar.MINUTE)

### Android 获取当前时间的方法及示例代码 在 Android 开发中,获取当前时间可以通过多种方式实现。以下是使用 Java 和 Kotlin 的两种常见方法,分别基于 `Calendar` 类和 `LocalDateTime` 类(适用于 Android API 26 及以上版本)。此外,还需确保应用具有适当的权限以访问系统时钟功能[^3]。 #### 方法一:使用 `Calendar` 类 `Calendar` 是 Android 中用于处理日期和时间的传统类。以下是一个通过 `Calendar` 获取当前时间的示例代码: ```java import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Locale; public class CurrentTimeExample { public static String getCurrentTime() { Calendar calendar = Calendar.getInstance(); // 获取当前时间实例 SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.getDefault()); // 定义时间格式 return dateFormat.format(calendar.getTime()); // 格式化并返回当前时间字符串 } } ``` #### 方法二:使用 `LocalDateTime` 类(API 26+) 从 Android API 26 开始,支持 Java 8 的日期和时间 API。以下是一个基于 `LocalDateTime` 的示例代码: ```java import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; public class CurrentTimeExample { public static String getCurrentTime() { LocalDateTime now = LocalDateTime.now(); // 获取当前时间 DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); // 定义时间格式 return now.format(formatter); // 格式化并返回当前时间字符串 } } ``` #### 注意事项 - 如果目标设备的 API 级别低于 26,则无法直接使用 `LocalDateTime`。此时推荐使用 `Calendar` 或引入第三方库如 `ThreeTenABP`[^4]。 - 在某些情况下,可能需要动态请求用户授予访问设备时区或网络时间的权限。例如,如果应用依赖于网络时间同步,则需要声明并请求 `ACCESS_NETWORK_STATE` 和 `INTERNET` 权限[^2]。 #### 示例权限声明 为了确保应用能够正确获取当前时间,请在 `AndroidManifest.xml` 文件中添加必要的权限: ```xml <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> ``` 如果需要运行时权限支持,应参考官方文档实现动态权限请求逻辑[^2]。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值