1

在我用于显示日期的应用程序中,我使用以下代码:

public static String format (Date date) {
    DateFormat formater = DateFormat.getDateTimeInstance(DateFormat.SHORT,DateFormat.SHORT);
    return formater.format(date);
}

在我的 Android 设备中,我拥有默认的区域日期格式"Regional (31.10.2013)",然后我的应用程序按预期工作。

但是我可以将我的 Android 设置日期格式更改为 ex。"2013.10.31"然后不幸的是,我的应用似乎忽略了这些设置,仍然以默认格式显示日期"31.10.2013"。为什么?如何格式化日期以考虑这些 Android 设置?

4

1 回答 1

2

这在您使用时可以正常工作DateFormat.getDateTimeInstance
根据 API文档-

获取具有默认 locale的给定日期和时间格式样式的日期/时间格式器。

对于您的情况,最好自己使用SimpleDateFormat和指定格式。例如:

private String printStandardDate(Date date) {
    return new SimpleDateFormat("dd/MM/yy").format(date);
}

你可以这样检查 -使用 DateFormat.getDateTimeInstance().format(date);

更新:你能检查一下吗?

public static String format (Date date) {
  DateFormat dateFormat = 
         android.text.format.DateFormat.getDateFormat(getApplicationContext());
    return dateFormat.format(date);
}
于 2013-10-31T10:22:40.203 回答