我正在尝试将excel公式转换为kotlin代码。但我在将双倍转换为持续时间方面面临问题。 excel以持续时间格式显示。如何转换为持续时间格式?我不能使用持续时间作为API级别小于26。
The result in
Excel Duration format - 0:47:22
Excel Number format - 0.03288861121
我能够以数字格式获取它。但无法将其转换为持续时间 请帮忙
答案 0 :(得分:1)
我不确定以下是否是最佳解决方案。你可能会以某种方式从Excel中获得更好的东西。无论如何它都有效。
double durationDoble = 0.03288861121;
Duration dur = Duration.ofNanos((long) (durationDoble * TimeUnit.DAYS.toNanos(1)));
System.out.println(dur);
打印
PT47M21.576008544S
如果您不熟悉Duration
类和/或ISO 8601格式,它可能看起来有点滑稽,但它意味着47分21.576秒,所以如果四舍五入到整秒,它会同意您的预期
我无法使用持续时间,因为API级别小于26。
是的,您可以在小于26的API级别使用java.time(现代Java日期和时间API)中的Duration
。将ThreeTenABP添加到您的Android项目中,并确保导入org.threeten.bp.Duration
。
<强>链接强>
java.time
。