如何在 Android中获取当前时间和日期

如何在 Android 应用程序中获取当前时间和日期?

如何在 Android 应用程序中获取当前时间和日期?

1485

您可以使用:

import java.util.Calendar;
import java.util.Date;
Date currentTime = Calendar.getInstance().getTime();

日历中有很多常量可以满足您的所有需求。

检查Calendar class documentation

501

您可以(但不再应该-见下文!)使用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将开始重复。

433

如果您想以特定模式获取日期和时间,可以使用以下内容:

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());
252

对于那些可能更喜欢自定义格式的人,您可以使用:

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

本站系公益性非盈利分享网址,本文来自用户投稿,不代表码文网立场,如若转载,请注明出处

(227)
来自 iOS的实时流音频
上一篇
iOS应用程序 Facebook应用程序事件的请求跟踪授权
下一篇

相关推荐

发表评论

登录 后才能评论

评论列表(44条)