【发布时间】:2011-06-13 17:37:50
【问题描述】:
我想使用 Android 的“日期和时间”设置中指定的日期和时间格式。有没有一种简单的方法可以访问它?我查看了 Settings 类,但是似乎没有与这些设置有关的常量。任何帮助将不胜感激。
【问题讨论】:
标签: android date time settings
我想使用 Android 的“日期和时间”设置中指定的日期和时间格式。有没有一种简单的方法可以访问它?我查看了 Settings 类,但是似乎没有与这些设置有关的常量。任何帮助将不胜感激。
【问题讨论】:
标签: android date time settings
【讨论】:
DateUtils.formatDateTime() 方法。我没有对您的答案投反对票,因为您没有提到这一点,我建议您不要仅仅因为您认为您的答案更好而对其他答案投反对票。另外,好好编辑你以前的 cmets,让你看起来不像个混蛋。
您可以使用android.text.format.DateFormat 类获取用户指定的特定格式实例。使用这些,您只需执行正常的 Java 样式日期格式。
很遗憾,没有日期和时间格式,因此您必须自己构建它。或者你可以使用DateUtils.formatDateTime(),正如史蒂夫指出的那样。
【讨论】:
这是一种可能比扫描整个示例应用程序中的适用位更精炼的方法。这是来自我的代码,我需要一个没有 ERA 字段的语言环境格式的日期字符串:
final Date d = new Date();
DateFormat dateFormat = null;
try {
dateFormat = DateFormat.getDateInstance(DateFormat.FULL, <context>.getApplication().getLocale());
} catch (NullPointerException npe) {
dateFormat = DateFormat.getDateInstance(DateFormat.FULL); // Default locale? Users reported NPEs in the above checked code.
}
StringBuffer formattedDateBuf = new StringBuffer();
FieldPosition eraPos = new FieldPosition(DateFormat.ERA_FIELD);
StringBuffer formattedDate = dateFormat.format(d, formattedDateBuf, eraPos);
【讨论】: