【问题标题】:SimpleDateFormat vs DateFormat vs Joda-Time : Which one should be preferred with Kotlin?SimpleDateFormat vs DateFormat vs Joda-Time:Kotlin 应该首选哪一个?
【发布时间】:2021-11-09 19:25:42
【问题描述】:

哪一个在处理和格式化日期方面效率最高,并且还避免了对第三方组件的不必要依赖?

【问题讨论】:

  • 使用 Java 8 日期/时间 API,可通过desugaring 在各种设备上使用。 Joda-time 是一个第三方组件。
  • 我认为投票结束这个是基于意见的,但决定不这样做。答案不是基于意见的:使用 java.time,现代 Java 日期和时间 API。

标签: android jodatime datetime-format simpledateformat date-format


【解决方案1】:

TL;DR

毫无疑问,java.time,现代日期时间 API 和标准库的一部分,是目前最推荐的选项。

java.util Date-Time API 及其格式化 API,SimpleDateFormat:

java.util 日期时间 API 及其格式化 API SimpleDateFormat(扩展 java.text.DateFormat)已经过时且容易出错。建议完全停止使用它们并切换到java.timemodern 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.timeAPI:

这是现代的日期时间 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 desugaringHow to use ThreeTenABP in Android Project

【讨论】:

    猜你喜欢
    • 2013-07-08
    • 1970-01-01
    • 1970-01-01
    • 2020-08-10
    • 2021-03-23
    • 2017-08-04
    • 2010-10-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多