【发布时间】:2021-09-25 02:33:26
【问题描述】:
我需要根据 long 值范围将 Long 转换为小时、分钟和秒。
但是,我需要以下条件转换:
-
如果 Long 值小于 1 小时,则输出应以分钟为单位。
例如如果小于3_600_000L,则输出为 59 分钟或类似。 -
如果 Long 值等于精确/完整/整小时(例如 1 小时/2 小时左右),则输出应以小时为单位。
例如如果是3_600_000LOR7_200_000L,则输出为 1 Hour OR 2 Hours 或类似的。 -
如果长值大于小时并且还有一些分钟,那么输出也应该包含小时和分钟。
例如如果是7_400_000L,则输出为 2 小时 3 分钟 -
如果长值大于 1 天(即 24 小时)并且等于精确/完整/整个小时 24 小时、48 小时,则输出应相应为 1 天、2 天。
-
如果 long 值大于 1 天并且有一些额外的小时数,那么输出应该是 1 天 5 小时。
注意:
- 我研究了已回答的与此主题相关的问题,但找不到任何解决方案,因此发布了此查询。
- 我尝试了
Simple Date Format和TimeUnit.MILLISECONDS.toHour/toSeconds/toMinutes,但没有成功。 - 我在 Android 上需要这个 使用 Kotlin
- 我需要创建一个接受 long 并根据上述条件返回值的函数。
请大家多多指导。
【问题讨论】:
-
如果没有必要,不要再尝试
SimpleDateFormat。你可以使用 Java 1.8 中的java.time,它好多了。