Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/394.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 日期格式是否正确?_Java_Android_Date_String Formatting - Fatal编程技术网

Java 日期格式是否正确?

Java 日期格式是否正确?,java,android,date,string-formatting,Java,Android,Date,String Formatting,我想知道如何在Android中正确显示日期。我指的是日期格式,适合下载应用程序的特定区域。 我现在做的是: DateFormat formatter = DateFormat.getDateTimeInstance(); String[] dateParts = date.split(DATE_DELIMITER); Date temp = new Date(Integer.valueOf(dateParts[4])-1900, Integer.valueOf(dateParts[3]),

我想知道如何在Android中正确显示日期。我指的是日期格式,适合下载应用程序的特定区域。 我现在做的是:

DateFormat formatter = DateFormat.getDateTimeInstance();
String[] dateParts = date.split(DATE_DELIMITER);
Date temp = new Date(Integer.valueOf(dateParts[4])-1900, Integer.valueOf(dateParts[3]),
            Integer.valueOf(dateParts[2]), Integer.valueOf(dateParts[0]),
            Integer.valueOf(dateParts[1]));
return formatter.format(temp);
所以。。。这有以下问题:Java.util.Date被标记为不推荐,并且它也显示秒数,尽管我不希望这样

有什么“漂亮”的解决办法吗?如果您能告诉我,我将很高兴:)

编辑

要设置当前区域设置的日期格式,请使用静态factory方法之一:

String formattedString = DateFormat.getDateInstance().format(yourDate);
这将根据设备当前的区域设置进行相应的格式化,即在android设置中配置的区域设置


解决方法是使用


相关:

使用设备当前区域设置的Android DateFormat

在android中,您可以通过以下操作在格式化日期对象时使用设备的区域设置:

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-mm-dd HH:mm:ss", Locale.getDefault())
String formatedText = sdf.format(new Date());
编辑

要使用准确的系统日期格式,请使用:

        DateFormat.getDateFormat(mContext).format(new Date());

对于所有的答案:我不想要的是“日期和月份”的固定位置,因为不同的地区处理这个问题的方式不同。例如,欧洲习惯于DD.MM。英国或美国有时用于MM/DD等。没有办法做到这一点吗?这不会仍然显示yyyy mm dd中的日期吗?
        DateFormat.getDateFormat(mContext).format(new Date());