在我显示日期的应用中,我使用以下代码:
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设置?
答案 0 :(得分:2)
当您使用DateFormat.getDateTimeInstance
时,此功能正常。
根据API doc -
获取日期/时间格式化程序,其中包含默认语言环境的给定日期和时间格式样式。
对于您的情况,最好使用SimpleDateFormat
并自行指定格式。例如:
private String printStandardDate(Date date) {
return new SimpleDateFormat("dd/MM/yy").format(date);
}
您可以这样检查 - Using DateFormat.getDateTimeInstance().format(date);
更新:请你检查一下 -
public static String format (Date date) {
DateFormat dateFormat =
android.text.format.DateFormat.getDateFormat(getApplicationContext());
return dateFormat.format(date);
}