将TimeUnit转换为ChronoUnit?

Gil*_*ili 35 java java-time

Java 8引入了ChronoUnit,它大致相当于Java 5中引入的TimeUnit.

是否存在将TimeUnit转换为ChronoUnit的现有功能?(是的,我知道怎么写自己的)

Chr*_*iss 31

Java 9

在Java 9中,TimeUnitAPI得到了扩展,并允许在TimeUnit和之间进行转换ChronoUnit:

TimeUnit.toChronoUnit() // returns a ChronoUnit
TimeUnit.of(ChronoUnit chronoUnit) // returns a TimeUnit
Run Code Online (Sandbox Code Playgroud)

见:JDK-8141452


Jod*_*hen 12

在开发过程的一个阶段,你可以构建一个Duration来自a TimeUnit. https://github.com/ThreeTen/threeten/blob/3b4c40e3e7a5dd7a4993ee19e1c156e4e65432b3/src/main/java/javax/time/Duration.java#L293但是,Java SE 8中的代码的最终版本已被删除.

我不知道任何预先打包的例程来进行转换,但它应该添加到ThreeTen-Extra中,可能在Temporals.

更新:这是由https://github.com/ThreeTen/threeten-extra/issues/22修复的