Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/373.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/213.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java android DateFormat忽略修改的区域设置_Java_Android_Date_Date Format_Simpledateformat - Fatal编程技术网

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))。