我在android上阅读了关于格式化日期的一些帖子,如下:
How do you format date and time in Android?
人们建议使用android.text.format.DateFormat
而不是java.text.DateFormat
,
同样在这里,它提到了在android中将日期转换为字符串的问题:
Android load timezone too long: Loaded time zone names for en_US
我想知道android.text.format.DateFormat
和java.text.DateFormat
之间有什么区别?
答案 0 :(得分:14)
据我所知,android.text.format.DateFormat
具有java.text.DateFormat
的部分功能,java.text.SimpleDateFormat
的部分功能,以及自身的一些额外功能。
最值得注意的是:
getBestDateTimePattern
,它选择一个适合语言环境的格式字符串,其中包含使用适合语言环境的顺序指定的元素和标点符号。因此,如果您需要一个本地日期/时间格式而不是java的DateFormat类提供的三种格式,那么android DateFormat类就是解决方案。
不太重要,但是额外的便利:android DateFormat方法可以直接使用Calendar或长毫秒,而不需要Date对象。我总是喜欢使用日历或长期使用日期。此外,它正确地尊重Calendar对象的时区 - 而从日历获取日期并将其传递给格式化程序会丢失时区信息。 (你无法通过java DateFormat的setCalendar方法解决这个问题,但是没有必要这么做。)
最后,最不重要的是,Android DateFormat的一些方法实际上并不构造格式化程序,只需构造一个格式字符串即可。所有这个类的方法都是静态的。构造DateFormat的方法确实构造了一个java DateFormat!
答案 1 :(得分:-15)
这里的自助怎么样?比较API,阅读JavaDocs并亲自看看: