【发布时间】:2018-09-27 12:39:49
【问题描述】:
我试图在屏幕上显示从 ISO8601 格式的 api 获得的持续时间,格式如下所示:PT#H#M#S。 我找到了这个解决方案:
Duration duration = Duration.parse(durationString);
但它需要 api 级别 26,我的最低是 21。
有什么不同的方法吗?
【问题讨论】:
标签: java android duration iso8601
我试图在屏幕上显示从 ISO8601 格式的 api 获得的持续时间,格式如下所示:PT#H#M#S。 我找到了这个解决方案:
Duration duration = Duration.parse(durationString);
但它需要 api 级别 26,我的最低是 21。
有什么不同的方法吗?
【问题讨论】:
标签: java android duration iso8601
您已经找到了很好的解决方案。好消息是即使您正在为 API 级别 21 编写代码,您也不需要放弃它。我建议您将 ThreeTenABP 库添加到您的项目中。并确保导入 org.threeten.bp.Duration 而不是来自 java.time 的版本。那你应该没事。
ThreeTenABP 是 ThreeTen Backport 的 Android 版本,它又是 java.time(包括 Duration 类的现代 Java 日期和时间 API)到 Java 6 和 7 的向后移植。向后移植由开发 java.time 并被报道坚如磐石的人。
曾经有人告诉我 ThreeTenABP 的依赖项是(我没有测试):
compile group: 'org.threeten', name: 'threetenbp', version: '1.3.3', classifier: 'no-tzdb'
java.time。java.time 的反向移植到 Java 6 和 7(JSR-310 的 ThreeTen)。【讨论】: