java.time.Duration的Android等价物是什么?

问题描述:

我需要使用类java.time.Duration类来表示从亚微秒到秒的时间间隔。但Android Studio不提供此选项。java.time.Duration的Android等价物是什么?

我想我可以用一个float并表示一切为秒,但这似乎不太直观和有意义的。

这些时间间隔不与任何真实世界的时间表相关的,他们只是,嗯,时间间隔。

+0

也许'javax.xml.datatype.Duration'?或者只是导入JodaTime –

+0

'java.time'库无论如何都只在Java 8中生效,而最后一次检查时,Android只能用于Java 7.您可能可以通过第三方库获得此效果像乔达时间。 – Makoto

+0

@Makoto可能想更新你的知识:) https://developer.android.com/guide/platform/j8-jack.html –

您可能会发现导入JodaTime库并使用持续时间类可能会有所帮助,因为您无权访问java.time库。 从我可以收集IntervalReadableDuration类可能是有用的,但既没有明确提供getSeconds()方法。

如果你可以使用上面的类来存储你的持续时间你可能创建一个静态类毫秒到秒转换以更直观的方式。

float durationInSeconds MyTime.milliToSeconds(myDuration.getMillis()) 
+0

[维护模式](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类?

+1

感谢您的澄清;)您可能厌倦了以相同的格式重复回答这些“简单”日期时间问题。 –