datetime Java:使用时间单位将秒转换为天、小时、分钟和秒
我使用TimeStamp类将秒转换为天、小时、分钟、秒。我使用了以下代码
public static void calculateTime(long seconds) {
int day = (int)TimeUnit.SECONDS.toDays(seconds);
long hours = TimeUnit.SECONDS.toHours(seconds) - TimeUnit.SECONDS.toHours(TimeUnit.SECONDS.toDays(seconds));
long minute = TimeUnit.SECONDS.toMinutes(seconds) - TimeUnit.SECONDS.toMinutes(TimeUnit.SECONDS.toHours(seconds));
long second = TimeUnit.SECONDS.toSeconds(seconds) - TimeUnit.SECONDS.toSeconds(TimeUnit.SECONDS.toMinutes(seconds));
System.out.println("Day " + day + " Hour " + hours + " Minute " + minute + " Seconds " + second);
}
但我没有得到正确的结果。
例如,当我将此方法调用为calculateTime(3600)
时,它将结果作为Day 0 Hour 1 Minute 60 Seconds 3540
而不是Day 0 Hour 1 Minute 0 Seconds 0
我的逻辑怎么了?请帮帮我
# 1 楼答案
下面是我创建的代码:(3600秒显示“天:0小时:1分钟:0秒:0”)
希望它能回答你的问题
# 2 楼答案
试试这个
# 3 楼答案
您可以这样做,只使用
TimeUnit
:或者稍微短一点,但可能不那么直观
# 4 楼答案
晚了,但很有帮助
# 5 楼答案
应该是
编辑 说明:
# 6 楼答案
简单方法: