我正在阅读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。)在上面的示例行中提供您自己的格式字符串是否可接受(尽管文档中提到了什么)?
提前感谢您的帮助!
答案 0 :(得分:3)
1。)文档似乎没有说明(至少我无法在任何地方找到它,尽管我最难搜索)如何访问它所说的系统提供的正确本地化的字符串。这是如何完成的?
最直接的方法是使用get..Instance()
之一的静态getDateTimeInstance()
方法来获取java.text.DateFormat
对象。返回的格式化程序将设置为适合当前系统区域设置。
在formatter对象上使用format()
以获取格式化的字符串。
使用SimpleDateFormat
通常也很容易。
2。)在上面的示例行中提供您自己的格式字符串是否可接受(尽管文档中提到了什么)?
当您要格式化计算机以进行读取时,例如,在序列化为需要特定日期格式的基于ASCII的序列化格式时。
格式化人类阅读时,请使用适当的区域设置默认值。