SimpleDateFormat vs DateFormat vs Joda-Time:Kotlin 应该首选哪一个?
Posted
技术标签:
【中文标题】SimpleDateFormat vs DateFormat vs Joda-Time:Kotlin 应该首选哪一个?【英文标题】:SimpleDateFormat vs DateFormat vs Joda-Time : Which one should be preferred with Kotlin? 【发布时间】:2021-11-09 19:25:42 【问题描述】:哪一个在处理和格式化日期方面效率最高,并且还避免了对第三方组件的不必要依赖?
【问题讨论】:
使用 Java 8 日期/时间 API,可通过desugaring 在各种设备上使用。 Joda-time 是一个第三方组件。 我认为投票结束这个是基于意见的,但决定不这样做。答案不是基于意见的:使用 java.time,现代 Java 日期和时间 API。 【参考方案1】:TL;DR
毫无疑问,java.time
,现代日期时间 API 和标准库的一部分,是目前最推荐的选项。
java.util
Date-Time API 及其格式化 API,SimpleDateFormat
:
java.util
日期时间 API 及其格式化 API SimpleDateFormat
(扩展 java.text.DateFormat
)已经过时且容易出错。建议完全停止使用它们并切换到java.time
,modern Date-Time API*。
Joda-Time API:
以下引用来自home page of Joda-Time的通知:
请注意,从 Java SE 8 开始,用户被要求迁移到 java.time (JSR-310) - JDK 的核心部分,它取代了这个项目。
此外,Joda-Time API 不是 Java 的标准 API;相反,它是一个 3rd 方库。
java.time
API:
这是现代的日期时间 API,在 Java SE 8 中引入,作为JSR-310 implementation 的一部分,以模拟ISO_8601 标准。您可以从 Trail: Date Time 了解 java.time
API。
* 出于任何原因,如果您必须坚持使用 Java 6 或 Java 7,您可以使用 ThreeTen-Backport,它将大部分 java.time 功能向后移植到 Java 6 和 7 . 如果您正在为一个 android 项目工作,并且您的 Android API 级别仍然不符合 Java-8,请检查 Java 8+ APIs available through desugaring 和 How to use ThreeTenABP in Android Project。
【讨论】:
以上是关于SimpleDateFormat vs DateFormat vs Joda-Time:Kotlin 应该首选哪一个?的主要内容,如果未能解决你的问题,请参考以下文章
SimpleDateFormat vs DateFormat vs Joda-Time:Kotlin 应该首选哪一个?