2

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

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 被标记为已弃用,它也显示我几秒钟,虽然我不希望那样。

有什么“美丽”的解决方案吗?如果你能告诉我,我会很高兴:)

4

2 回答 2

5

编辑

要为当前区域设置格式化日期,请使用静态工厂方法之一:

String formattedString = DateFormat.getDateInstance().format(yourDate);

这将根据设备当前区域设置进行格式化,即在 android 设置中配置的区域。

更多信息


一个解决方案是使用SimpleDateFormat

public static vod FormatDate(Date yourDate) {

    SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy");

    return sdf.format( yourDate ));

}

相关:Android SimpleDateFormat,如何使用?

于 2013-02-03T10:54:09.600 回答
2

使用设备当前区域设置的 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());
于 2013-02-03T11:18:05.167 回答