小编L.G*_*.G.的帖子

java 8 - ZonedDateTime不等于另一个ZonedDateTime

我创建了两个ZonedDateTime对象,我认为它们应该是相同的:

public static void main(String[] args) {
    ZoneId zid = ZoneId.of("America/New_York");
    ZoneOffset offset = ZoneOffset.from(LocalDateTime.now().atZone(zid));
    ZonedDateTime zdt0 = ZonedDateTime.of(2014, 8, 24, 21, 10, 1, 777000002, offset);
    ZonedDateTime zdt1 = ZonedDateTime.of(2014, 8, 24, 21, 10, 1, 777000002, zid);
    boolean equals = Objects.equals(zdt0, zdt1);
    System.out.println("equals: " + equals);
}
Run Code Online (Sandbox Code Playgroud)

在调试器中,我看到ZonedDateTime 区域的成员类在第一种情况下是java.time.ZoneOffset,在第二种情况下是java.time.ZoneRegion,这使得ZonedDateTime对象不相等.这令人困惑......有什么想法吗?

java java-8 java-time

13
推荐指数
2
解决办法
7655
查看次数

标签 统计

java ×1

java-8 ×1

java-time ×1