为什么Android中的Calendar
在不同的Android设备上给出不同的日期?
我确实获得了默认语言环境,但仍然遇到相同的问题。
代码:
calendar = Calendar.getInstance();
currentDate = DateFormat.getDateInstance(DateFormat.DATE_FIELD,Locale.getDefault())
.format(calendar.getTime());
答案 0 :(得分:1)
为什么Android中的Calendar在不同的Android设备中给出不同的日期?
Calendar.getInstance
使用系统时钟,因此如果不同设备的时钟设置不同,您将获得不同的时间。也就是说,Calendar
和DateFormat
类存在很大的设计问题,我认为它们早已过时。如果您要对应用程序中的日期或时间进行大量工作,则应该改用java.time。它是现代的Java日期和时间API,设计得更好,使用起来也更好。
是的,java.time在较新和较旧的Android设备上均可正常运行。它只需要至少 Java 6 。
org.threeten.bp
导入日期和时间类。java.time
。java.time
。java.time
向Java 6和7(JSR-310的ThreeTen)的反向端口。