gpt4 book ai didi

java - 检查 ZonedDateTime 是否在某个时间之间

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

我使用下面的代码获取某个位置的时间和日期

        ZoneId zoneId = ZoneId.of("America/New_York");
ZonedDateTime dateAndTimeForAccount = ZonedDateTime.ofInstant(now, zoneId);
System.out.println(dateAndTimeForAccount);

如何检查 dateAndTimeForAccount 是否在上午 6 点到上午 10 点之间?

最佳答案

一种可能的解决方案是使用 ValueRange .

注意:以下解决方案将导致 10:59true(请参阅最底部的“极端情况输出”:

ZoneId zoneId = ZoneId.of("America/New_York");
ZonedDateTime dateAndTimeForAccount = ZonedDateTime.ofInstant(now, zoneId);
System.out.println(dateAndTimeForAccount);

ValueRange hourRange = ValueRange.of(8, 10);
System.out.printf("is hour (%s) in range [%s] -> %s%n",
dateAndTimeForAccount.getHour(),
hourRange,
hourRange.isValidValue(dateAndTimeForAccount.getHour())
);

示例输出

2017-01-11T07:34:26.932-05:00[America/New_York]
is hour (7) in range [8 - 10] -> false

编辑:代码片段指南作为建议解决方案的示例。这不是一个完整的解决方案,如代码中所示,它仅检查小时部分。

极端情况输出: 10:59 的结果为 true:

2017-01-11T10:59:59.999-05:00[America/New_York]
is hour (10) in range [8 - 10] -> true

关于java - 检查 ZonedDateTime 是否在某个时间之间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41590196/

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