【发布时间】:2019-05-05 23:02:54
【问题描述】:
为什么 Android 中的Calendar 在不同的 Android 设备上给出不同的日期?
我确实获得了默认语言环境,但我仍然遇到同样的问题。
代码:
calendar = Calendar.getInstance();
currentDate = DateFormat.getDateInstance(DateFormat.DATE_FIELD,Locale.getDefault())
.format(calendar.getTime());
【问题讨论】:
-
顺便考虑扔掉长期过时且臭名昭著的麻烦
DateFormat和朋友,并将ThreeTenABP添加到您的Android项目中,以便使用java.time,现代Java日期和时间API .使用起来感觉好多了。 -
如果将
DateFormat.DATE_FIELD传递给getDateInstance符合您的预期,那纯属巧合。它的值为 3,如果这是您想要的,请使用DateFormat.SHORT(也为 3)。 -
您预计是哪一天?你得到多少不同的日期?某些设备上的前一天或后一天,或者日期很远?为了让我们了解您的情况和问题所在,请准确说明您期望的日期以及您实际获得的日期的尽可能多的示例。此外,这将有助于了解不同设备的时区设置。
标签: java android calendar date java.util.calendar