Droid API Date/Duration 的 22 多个选项(在 Kotlin 中)?

Droid API 22+ options for Date/Duration (in Kotlin)?

我正在将 iOS 应用程序移植到 Android,目标 API 22。我做了很多 Date/TimeInterval 的事情。我在 UTC 中完成这一切,所以它对我有用。

我正在为 Android 使用什么而苦恼。还有Date(从时间开始,哈哈)。我想我可以通过将 to/from 转换为 time 毫秒属性来计算持续时间。我不清楚 zone/rules 适用于那些。

我看到有人似乎将日历用作日期对象并四处传递。好像有点不对。

然后是新的 Java 8 java.time 东西,实际上看起来很完整(ZonedDateTime、Duration 等)。但那是 API 26 和更新版本。有可靠的后台端口吗?

我的需求很基本(我认为):

是的,有一个“Java 8 东西”的反向移植,也称为 java.time 或现代的 Java日期和时间 API。向后移植甚至专门针对 Android.

进行了调整
  • 对于非Android Java 6 和 7 获取 ThreeTen Backport,新 类 的 backport(ThreeTen 用于 JSR 310;请参阅底部的链接)。
  • 对于 Android API 22 级(以及 26 级以下的任何东西)使用 ThreeTen Backport 的 Android 版本。它叫做 ThreeTenABP。并确保使用子包从 org.threeten.bp 导入日期和时间 类。

我被告知依赖项是:

compile group: 'org.threeten', name: 'threetenbp', version: '1.3.3', classifier: 'no-tzdb'

很抱歉,我自己没有使用 ThreeTenABP 的经验。我使用 java.time 的经验表明它正是您所需要的。 backport 是由开发 java.time 的同一批人开发的,所以我会立即认为它是可靠的。唯一的限制似乎是它没有升级 Java 9 及更高版本中添加到 java.time 的(次要)新功能。

链接