为什么Calendar
在 Android 中在不同的 Android 设备上给出不同的日期?我确实获得了默认语言环境,但我仍然遇到同样的问题。
代码:
calendar = Calendar.getInstance();
currentDate = DateFormat.getDateInstance(DateFormat.DATE_FIELD,Locale.getDefault())
.format(calendar.getTime());
为什么Calendar
在 Android 中在不同的 Android 设备上给出不同的日期?我确实获得了默认语言环境,但我仍然遇到同样的问题。
代码:
calendar = Calendar.getInstance();
currentDate = DateFormat.getDateInstance(DateFormat.DATE_FIELD,Locale.getDefault())
.format(calendar.getTime());
为什么 android 中的日历在不同的 android 设备中给出不同的日期?
Calendar.getInstance
使用系统时钟,因此如果不同设备的时钟设置不同,您将获得不同的时间。也就是说,Calendar
andDateFormat
类有相当大的设计问题,我认为它们早已过时。如果您在应用程序中对日期或时间进行大量工作,您可能应该改用 java.time。它是现代 Java 日期和时间 API,设计得更好,使用起来也更好。
是的,java.time 在较旧和较新的 Android 设备上运行良好。它只需要至少Java 6。
org.threeten.bp
子包中导入日期和时间类。java.time
.java.time
第一次描述的地方。java.time
Java 6 和 7 的反向移植(ThreeTen for JSR-310)。