我想使用Android的“日期和时间”设置中指定的日期和时间格式。有没有简单的方法来访问它?我查看了Settings类,但是没有任何常量似乎与这些设置有关。任何帮助将不胜感激。
答案 0 :(得分:7)
答案 1 :(得分:5)
您可以使用android.text.format.DateFormat类获取用户指定的特定Format实例。有了这些,你只需要进行正常的Java风格日期格式化。
不幸的是,没有日期和时间格式,所以你必须自己构建它。或者你可以使用DateUtils.formatDateTime()
,正如史蒂夫指出的那样。
答案 2 :(得分:-3)
这是一种方法,它可能比扫描整个示例应用程序中的适用位更加精炼。这是我的代码,我需要一个没有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);