我试图划分两个持续时间 ( java.time.Duration) 并执行有两种方法
java.time.Duration#dividedBy(long)它返回一个本身类型的对象Duration,但由于一些 API 限制,我无法使用这个版本。
java.time.Duraiton#dividedBy(Duration)它返回 along并返回一个持续时间在其他持续时间内发生的次数,但这里我们失去了精度,因为它不关心余数。
有没有办法执行此除法并得到余数结果。
Duration.ofHours(1).dividedBy(7L); //returns 8M34.28571 seconds
Duration.ofHours(1).dividedBy(Duration.ofSeconds(7L)) // returns 514 seconds
Run Code Online (Sandbox Code Playgroud)
我有一个限制,不能使用第一种方式。我可以使用其他方式获得结果吗?
编辑:(来自评论)我不允许将 Duration 实例转换为序数值,例如毫秒。
转换为毫秒/纳秒,然后除以它们的序数值,然后Duration根据结果创建一个新对象。
| 归档时间: |
|
| 查看次数: |
387 次 |
| 最近记录: |