23:59 时间 8:46 -> 00.01 我现在有一个相当丑陋的解决方案。 if (cal-6ren">
gpt4 book ai didi

java - 距离上次 "X"一个时钟已经过去了多少时间

转载 作者:太空宇宙 更新时间:2023-11-04 13:37:57 26 4
gpt4 key购买 nike

我想知道如何在 Java 中查找自上次 8:45 以来已经过去了多少时间。

例如。
时间:8:44 -> 23:59
时间 8:46 -> 00.01

我现在有一个相当丑陋的解决方案。

if (calendar.get(Calendar.HOUR_OF_DAY) >= 8) {
if (calendar.get(Calendar.MINUTE) >= 45 || calendar.get(Calendar.HOUR_OF_DAY) > 9) {
System.out.println("it between 8:45 and 00:00");
}
}
else {
System.out.println("its between 00:00 and 8:45");
}

最佳答案

类似于:

public void test() {
Calendar c = Calendar.getInstance();
Calendar eightFortyFive = Calendar.getInstance();
eightFortyFive.set(Calendar.HOUR, 8);
eightFortyFive.set(Calendar.MINUTE, 45);
eightFortyFive.set(Calendar.SECOND, 0);
eightFortyFive.set(Calendar.MILLISECOND, 0);
// You might not need to do this or you may need to use -24.
if (eightFortyFive.after(c)) {
eightFortyFive.add(Calendar.HOUR, -12);
}
System.out.println("Time since " + eightFortyFive.getTime() + " = " + new Date(c.getTimeInMillis() - eightFortyFive.getTimeInMillis()));

}

本质上,您必须获取当前时间,将小时、分钟、秒和毫秒设置为您想要的值,并在必要时减去 12 或 24 小时。然后,您可以创建一个新的Date,这是两者之间的差异。

关于java - 距离上次 "X"一个时钟已经过去了多少时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31520151/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com