java.time.Duration的Android等价物是什么?
我需要使用类java.time.Duration
类来表示从亚微秒到秒的时间间隔。但Android Studio不提供此选项。java.time.Duration的Android等价物是什么?
我想我可以用一个float
并表示一切为秒,但这似乎不太直观和有意义的。
这些时间间隔不与任何真实世界的时间表相关的,他们只是,嗯,时间间隔。
您可能会发现导入JodaTime
库并使用持续时间类可能会有所帮助,因为您无权访问java.time
库。 从我可以收集Interval和ReadableDuration类可能是有用的,但既没有明确提供getSeconds()
方法。
如果你可以使用上面的类来存储你的持续时间你可能创建一个静态类毫秒到秒转换以更直观的方式。
float durationInSeconds MyTime.milliToSeconds(myDuration.getMillis())
[维护模式](https://en.wikipedia.org/wiki/Maintenance_mode)中的[Joda-Time](http://www.joda.org/joda-time/)项目建议迁移到[java.time](http://docs.oracle.com/javase/8/docs/api/java/time/package-summary.html)类。 –
回港
见back-port of much of java.time到Java 6 & 7,其adaptation for Android。见下面的细节。
背端口包括org.threeten.bp.Duration
类。
关于java.time
的java.time框架是建立在Java 8和更高版本。这些类取代了日期时间类legacy,如java.util.Date
,Calendar
,& SimpleDateFormat
。
Joda-Time项目现在位于maintenance mode,建议迁移到java.time类。请参阅Oracle Tutorial。并搜索堆栈溢出了很多例子和解释。规格是JSR 310。
从何处获取java.time类?
-
Java SE 8和SE 9后来
- 内置。
- 带捆绑实现的标准Java API的一部分。
- Java 9增加了一些次要功能和修复。在ThreeTen-Backport
-
Java SE 6和SE 7
- 大部分的java.time功能后移植到Java 6 & 7。
-
Android
- 的ThreeTenABP项目适应ThreeTen-反向移植(上述)为Android特异性。
- 参见How to use ThreeTenABP…。
感谢您的澄清;)您可能厌倦了以相同的格式重复回答这些“简单”日期时间问题。 –
也许'javax.xml.datatype.Duration'?或者只是导入JodaTime –
'java.time'库无论如何都只在Java 8中生效,而最后一次检查时,Android只能用于Java 7.您可能可以通过第三方库获得此效果像乔达时间。 – Makoto
@Makoto可能想更新你的知识:) https://developer.android.com/guide/platform/j8-jack.html –