我使用以下代码获取位置的时间和日期
ZoneId zoneId = ZoneId.of("America/New_York");
ZonedDateTime dateAndTimeForAccount = ZonedDateTime.ofInstant(now, zoneId);
System.out.println(dateAndTimeForAccount);
如何检查
dateAndTimeForAccount
是否在6am到10am之间? 最佳答案
一种可能的解决方案是使用ValueRange。
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