5

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

但是文档指出:

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

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

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

2.) 提供您自己的格式字符串(如上面的示例行)是否可以接受(尽管文档中有说明)?

在此先感谢您的帮助!

4

1 回答 1

3

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

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

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

使用 aSimpleDateFormat通常也很容易。

2.) 提供您自己的格式字符串(如上面的示例行)是否可以接受(尽管文档中有说明)?

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

格式化供人类阅读时,请使用适当的语言环境默认值。

于 2014-02-18T14:19:01.860 回答