java在LocalTime中查找与下一个DayOfWeek对应的日期
给定LocalDateTime myDate
、DayOfWeek day
和LocalTime time
,获得myDate
的下一个日期(我们称之为LocalDateTime next
)的最简单方法是什么,这样next
的一周中的一天是day
,而^
例如:
- 如果{
}是2019-04-14 16:00:00(星期日),{ }是星期一,{ }是01:00:00,那么{ }将是2019-04-15 01:00:00李> - 如果
myDate
是2019-04-14 16:00:00(星期日),day
是星期日,time
是16:10:00,那么next
将是2019-04-14 16:10:00李>- 如果{
}是2019-04-14 16:00:00(星期日),{ }是星期日,{ }是15:59:00,那么{ }将是2019-04-21 15:59:00李> - 如果
# 1 楼答案
我将首先计算要添加多少天的值。这可以通过使用
DayOfWeek
的getValue()
方法来实现,该方法返回星期几的int值。 这些数值按照ISO-8601标准进行编号,从1(星期一)到7(星期日)。对于上面给出的示例,它看起来像:如果是负数,就加7。如果为空,即如果您的时间变量在myDate变量的时间部分之前,则比较星期的同一天:
# 2 楼答案
您需要使用临时调整器。下面是一个简单的例子:
当然,您需要添加逻辑来更改一天中的时间