gpt4 book ai didi

Java 日历 - 设置自定义日期和时间

转载 作者:行者123 更新时间:2023-12-01 09:44:44 29 4
gpt4 key购买 nike

我正在尝试在java中为日历对象设置自定义日期和时间。我必须创建一个比当前日期多 1 天的日期,并且时间应设置为“X”(例如 05:00:00)。

这是我到目前为止所做的:

Calendar tomorrow = Calendar.getInstance();
tomorrow.add(Calendar.DATE, 1);

wake_up_time = "05:00:00";

Date date_wake_up_time = new SimpleDateFormat("HH:mm:ss").parse(wake_up_time);
Calendar cal_wake_up_time = Calendar.getInstance();
cal_wake_up_time.setTime(date_wake_up_time);

tomorrow.set(Calendar.HOUR, cal_wake_up_time.get(Calendar.HOUR));
tomorrow.set(Calendar.MINUTE, cal_wake_up_time.get(Calendar.MINUTE));
tomorrow.set(Calendar.SECOND, cal_wake_up_time.get(Calendar.SECOND));

现在,当我执行 tomorrow.getTimeInMillis() 时,我应该得到一个恒定的长值,因为对于特定的一天,我将时间设置为恒定值。但是,当我运行这段代码时,长值不断变化。

Tomorrow Date: 3
Tomorrow Hour: 5
Tomorrow Minute: 0
Tomorrow Second: 0
Tomorrow's Time: 1467522000711

Tomorrow Date: 3
Tomorrow Hour: 5
Tomorrow Minute: 0
Tomorrow Second: 0
Tomorrow's Time: 1467522000169

此外,为什么时间值随着每次迭代而减少?我在这里做错了什么?如何将日历设置为明天的 X 时间?

最佳答案

如果你正在做:

Calendar cal_wake_up_time = Calendar.getInstance();

然后每次日历都会存储不同的时间,因此您将拥有不同的毫秒值。

如果是这样,那么您需要清除未使用的值,方法是在开头执行 clear() 或使用 clear(int field) 对每个字段执行此操作(例如clear(Calendar.MILLISECOND)):

tomorrow.clear(Calendar.MILLISECOND);

关于Java 日历 - 设置自定义日期和时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38157884/

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