如何在 Android 应用程序中获取当前时间和日期?
您可以使用:
import java.util.Calendar;
import java.util.Date;
Date currentTime = Calendar.getInstance().getTime();
日历中有很多常量可以满足您的所有需求。

您可以(但不再应该-见下文!)使用android.text.format.Time:
Time now = new Time();
now.setToNow();
从上面链接的参考:
Time 类是 java.util.Calendar 和 java.util.GregorianCalendar 类的更快替代。Time 类的实例表示时间中的某个时刻,以秒精度指定。
注 1:我写这个答案已经好几年了,它是关于一个旧的,特定于 Android 的,现在已弃用的类。谷歌现在says“[t] 他的类有很多问题,建议使用GregorianCalendar。”
注 2:尽管Time
类具有toMillis(ignoreDaylightSavings)
方法,但这只是传递给期望以毫秒为单位的时间的方法的便利。时间值仅精确到一秒;毫秒部分始终为000
。如果在循环中
Time time = new Time(); time.setToNow();
Log.d("TIME TEST", Long.toString(time.toMillis(false)));
... do something that takes more than one millisecond, but less than one second ...
结果序列将重复相同的值,如1410543204000
,直到下一秒开始,此时1410543205000
将开始重复。

如果您想以特定模式获取日期和时间,可以使用以下内容:
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd_HHmmss", Locale.getDefault());
String currentDateandTime = sdf.format(new Date());
或者,
Date:String currentDate = new SimpleDateFormat("dd-MM-yyyy", Locale.getDefault()).format(new Date());
Time:
String currentTime = new SimpleDateFormat("HH:mm:ss", Locale.getDefault()).format(new Date());

对于那些可能更喜欢自定义格式的人,您可以使用:
DateFormat df = new SimpleDateFormat("EEE, d MMM yyyy, HH:mm");
String date = df.format(Calendar.getInstance().getTime());
而你可以有 DateFormat 模式,如:
"yyyy.MM.dd G 'at' HH:mm:ss z" ---- 2001.07.04 AD at 12:08:56 PDT
"hh 'o''clock' a, zzzz" ----------- 12 o'clock PM, Pacific Daylight Time
"EEE, d MMM yyyy HH:mm:ss Z"------- Wed, 4 Jul 2001 12:08:56 -0700
"yyyy-MM-dd'T'HH:mm:ss.SSSZ"------- 2001-07-04T12:08:56.235-0700
"yyMMddHHmmssZ"-------------------- 010704120856-0700
"K:mm a, z" ----------------------- 0:08 PM, PDT
"h:mm a" -------------------------- 12:08 PM
"EEE, MMM d, ''yy" ---------------- Wed, Jul 4, '01
本站系公益性非盈利分享网址,本文来自用户投稿,不代表码文网立场,如若转载,请注明出处
评论列表(27条)