gpt4 book ai didi

java - 循环时差逻辑

转载 作者:行者123 更新时间:2023-11-30 11:20:04 24 4
gpt4 key购买 nike

我正在使用 Joda DateTime 并且有 2 个日期:

DateTime old //which is 1:46PM   
DateTime new //which is 6:46PM

注意:不包括日期。

我怎样才能按此顺序遍历差异:

(前半小时打印一条消息,接下来的 30 分钟打印一条消息,随后每小时打印一条消息)?

我正在考虑从新日期中减去旧日期然后进行循环,但我不明白其中的逻辑。任何指示都会有所帮助。

example
If i subtract both times above, i will have an elapsed time of 5 hours.

Loop 5 hours
{
for the first hour (print this)
next 30minutes (print that)
every subsequent hour (print ....)
}

最佳答案

我会改用 LocalTime 类型。如果您将 DateTime 作为输入,请使用 toLocalTime() 方法将其转换(具有相同的时间、年表和时区)。

LocalTime start = new LocalTime(13, 46);
LocalTime end = new LocalTime(18, 46);
LocalTime current = start;

for (int i = 0; current.isBefore(end); i++) {
// code your print action here
current = current.plusMinutes((i < 2) ? 30 : 60);
}

然后你会得到以下时间的 Action :

13:46
14:16
14:46
15:46
16:46
17:46

关于java - 循环时差逻辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22935827/

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