gpt4 book ai didi

java - 使用Java标准库简单、简洁地表达 "tomorrow at 10:30am"

转载 作者:行者123 更新时间:2023-11-30 05:58:58 25 4
gpt4 key购买 nike

仅使用标准 java 1.5 调用,我正在寻找一种简洁而简单的方法来获取特定时间的 java Date 对象,例如将来发生的下一个上午 10:30。通常是明天上午 10:30,但如果当前时间是上午 8 点,则可能是今天上午 10:30。

效率只是次要或第三位的问题。

似乎必须有一种比手动构造日历对象并在单独的方法调用中设置其每个字段更优雅的方法。

使用 SimpleDateFormat 可以使用像“HH:mm”这样的格式字符串,但我没有看到一个聪明的方法让它调整到下一个 future 的上午 10:30,而不是简单地调整到今天的上午 10:30。另外,那些 try/catch block 有点俗气。

真的没有简单的一两行方法来表达这一点吗?

最佳答案

标准 API 中没有方便的方法,您需要像这样的序列

Calendar cal = Calendar.getInstance();
Date today = cal.getTime();
cal.set(Calendar.HOUR, 10);
cal.set(Calendar.MINUTE,30);
cal.set(Calendar.SECOND,0);
cal.set(Calendar.AM_PM, Calendar.AM);

Date next = cal.getTime();
if (today.after(next)) {
cal.add(Calendar.DAY_OF_MONTH, 1);
}
System.out.println(cal.getTime());

您应该将其放入实用程序类中。

关于java - 使用Java标准库简单、简洁地表达 "tomorrow at 10:30am",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3688404/

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