Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
android.text.format.DateFormat和java.text.DateFormat之间有什么区别_Android_Date_Format - Fatal编程技术网

android.text.format.DateFormat和java.text.DateFormat之间有什么区别

android.text.format.DateFormat和java.text.DateFormat之间有什么区别,android,date,format,Android,Date,Format,我读了一些关于android上格式化日期的帖子,如下所示: 人们建议使用android.text.format.DateFormat而不是java.text.DateFormat 在这里,它还提到了在android中将日期转换为字符串时的一个问题: 我想知道android.text.format.DateFormat和java.text.DateFormat之间的区别是什么?这里的自助服务怎么样?比较API,阅读JavaDocs并亲自查看: 据我所知,android.text.form

我读了一些关于android上格式化日期的帖子,如下所示:

人们建议使用
android.text.format.DateFormat
而不是
java.text.DateFormat

在这里,它还提到了在android中将日期转换为字符串时的一个问题:


我想知道android.text.format.DateFormat和java.text.DateFormat之间的区别是什么?

这里的自助服务怎么样?比较API,阅读JavaDocs并亲自查看:


据我所知,
android.text.format.DateFormat
具有
java.text.DateFormat
中的一些功能,以及它自己的一些额外功能

最值得注意的是:

  • java SimpleDataFormat允许构造任意非本地化格式
  • JavaDateFormat允许通过其工厂方法为日期和时间构建三种本地化格式
  • android DateFormat允许上述大多数格式(任意格式和少量本地化格式),但也提供了
    getBestDateTimePattern
    ,它选择一个与区域设置相适应的格式字符串,该字符串包含与区域设置相适应的顺序和标点符号指定的元素
因此,如果您需要本地化的日期/时间格式,而不是java的DateFormat类提供的三种格式,那么android DateFormat类就是解决方案

不太重要的是,还有一个额外的便利:android DateFormat方法可以直接使用日历或长毫秒,而不需要Date对象。我总是喜欢用日历或长时间工作。此外,它正确地尊重Calendar对象的时区,而从日历中获取日期并将其传递给格式化程序会丢失时区信息。(通过java DateFormat的setCalendar方法,没有什么是您无法绕过的,但不必这样做很好。)


最后,也是最重要的一点,Android DateFormat的一些方法实际上并没有构造格式化程序,您只是构造了一个格式字符串。这个类的所有方法都是静态的。构造DateFormat的方法实际上构造了java DateFormat

一位智者曾经告诉我:“给一个人生一堆火,他会暖和一整晚。放一个人火,他会暖和一辈子。”这是你早年的回答吗?实际的引语是:“给一个人生一堆火,他会暖和一天。放一个人火,他会暖和一辈子。”这应该是公认的答案。它至少试图回答这个问题,而不是恶作剧地链接到在线文档。“阅读文档”不应该是一个被接受的答案。我很乐意删除我的旧的,蹩脚的答案,但不允许你删除被接受的答案。