使用android.text.format.DateFormat.format方法的正确方法是什么

时间:2014-02-18 14:15:05

标签: android format android-date

我正在阅读Android开发人员网站(位于http://developer.android.com/reference/android/text/format/DateFormat.html)上的android.text.format.DateFormat类的文档,以便了解有关它的更多信息。具体来说,我试图将日期格式化为人类可读,因此我找到了格式(CharSequence inFormat,Date inDate)方法,并认为我会使用它。现在,我能够找到使用此方法的大多数示例与此类似:     android.text.format.DateFormat.format(“MM / dd / yyyy”,new java.util.Date());

然而,文件说明:

  

大多数调用者应避免将自己的格式字符串提供给此类的格式方法,并依赖于系统提供的正确本地化字符串。

正是从这条线上出现了我的困惑和疑问。

1。)文档似乎没有说明(至少我无法在任何地方找到它,尽管我最难搜索)如何访问它所说的系统提供的正确本地化的字符串。这是如何完成的?

2。)在上面的示例行中提供您自己的格式字符串是否可接受(尽管文档中提到了什么)?

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:3)

  

1。)文档似乎没有说明(至少我无法在任何地方找到它,尽管我最难搜索)如何访问它所说的系统提供的正确本地化的字符串。这是如何完成的?

最直接的方法是使用get..Instance()之一的静态getDateTimeInstance()方法来获取java.text.DateFormat对象。返回的格式化程序将设置为适合当前系统区域设置。

在formatter对象上使用format()以获取格式化的字符串。

使用SimpleDateFormat通常也很容易。

  

2。)在上面的示例行中提供您自己的格式字符串是否可接受(尽管文档中提到了什么)?

当您要格式化计算机以进行读取时,例如,在序列化为需要特定日期格式的基于ASCII的序列化格式时。

格式化人类阅读时,请使用适当的区域设置默认值。