java android DateFormat忽略修改的区域设置
在显示日期的应用程序中,我使用以下代码:java android DateFormat忽略修改的区域设置,java,android,date,date-format,simpledateformat,Java,Android,Date,Date Format,Simpledateformat,在显示日期的应用程序中,我使用以下代码: public static String format (Date date) { DateFormat formater = DateFormat.getDateTimeInstance(DateFormat.SHORT,DateFormat.SHORT); return formater.format(date); } 在我的Android设备中,作为默认的区域日期格式,我有“regional(31.10.2013)”,然后我的应用
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”
,不幸的是,我的应用程序似乎忽略了这些设置,仍然以默认格式显示日期。为什么?如何设置日期格式以考虑这些安卓设置?当您使用DateFormat.getDateTimeInstance
时,此功能正常工作根据API- 获取具有默认区域设置的给定日期和时间格式样式的日期/时间格式设置程序 对于您的情况,最好使用
SimpleDateFormat
并自己指定格式。例如:
private String printStandardDate(Date date) {
return new SimpleDateFormat("dd/MM/yy").format(date);
}
你可以这样检查这个-
更新:你能检查一下吗-
public static String format (Date date) {
DateFormat dateFormat =
android.text.format.DateFormat.getDateFormat(getApplicationContext());
return dateFormat.format(date);
}
对不起,伙计,我不想设置固定日期格式。我想应用Android用户在设备设置中设置的格式。因此,任何固定格式的“dd/MM/yy”都不能被考虑在内。您认为我为什么不根据文档使用getDateTimeInstance呢?我根据文档使用它(至少在我的理解中),我不想应用任何固定的语言环境,因为我想使用Android设备设置中设置的语言环境)。最后,它按预期工作,谢谢。但我永远不会理解Android的哲学。。。(顺便说一句,您犯了一个小错误return dateFormat.format(date))。