gpt4 book ai didi

java - 确定一个 Instant 是否是另一个 Instant 之后的一天,考虑时区

转载 作者:行者123 更新时间:2023-11-29 07:27:59 28 4
gpt4 key购买 nike

时间戳将存储在数据库中。确定一个名为“b”的时间戳是否是另一个名为“a”的时间戳的后一天的解决方案是什么?

时区将作为参数提供。

例如,考虑:

Instant a = Instant.ofEpochSecond(1511928000L); // 11/29/17 4 AM
Instant b = Instant.ofEpochSecond(1511935200L); // 11/29/17 6 AM

如果用户想知道b是否是东部时区a的后一天(-5小时),程序会比较:

17 年 11 月 28 日晚上 11 点的时刻 a 和 17 年 11 月 29 日凌晨 1 点的时刻 b,并确定 b 是 a 的后一天。

最佳答案

找到解决方案:

public static void main(String[] args) {
Instant a = Instant.ofEpochSecond(1511928000L); // 11/29/17 4 AM
Instant b = Instant.ofEpochSecond(1511935200L); // 11/29/17 6 AM
ZoneId localZone = ZoneId.of("America/New_York"); // Can be any zone ID

if (isBOneDayAfterA(a, b, localZone)) {
System.out.println("b is one day after a!");
} else {
System.out.println("b is NOT one day after a");
}
}

public static boolean isBOneDayAfterA(Instant a, Instant b, ZoneId localZone) {
LocalDateTime aAdjusted = LocalDateTime.ofInstant(a, localZone);
LocalDateTime bAdjusted = LocalDateTime.ofInstant(b, localZone);
LocalDate aDate = aAdjusted.toLocalDate();
LocalDate bDate = bAdjusted.toLocalDate();

return bDate.minusDays(1).equals(aDate);
}

关于java - 确定一个 Instant 是否是另一个 Instant 之后的一天,考虑时区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47536025/

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