gpt4 book ai didi

Java:如何获取UTC时间戳 '1000-01-01 00:00:00'?

转载 作者:行者123 更新时间:2023-12-01 19:35:16 27 4
gpt4 key购买 nike

我在两个不同的结果中得到了“1000-01-01 00:00:00”的时间戳。有谁知道为什么吗?

TimeZone timeZone = TimeZone.getTimeZone(ZoneOffset.UTC);
GregorianCalendar calendar = new GregorianCalendar(timeZone);
calendar.clear();
calendar.set(1000, 0, 1, 0, 0, 0);
System.out.println(calendar.getTimeInMillis()); // print -30609792000000
System.out.println(ZonedDateTime.of(1000, 1, 1,0, 0, 0, 0, timeZone.toZoneId()).toInstant().toEpochMilli()); // print -30610224000000

最佳答案

GregorianCalendar 尽管其名称为 1582 年及以后引入公历之前的时间,但使用儒略历。相比之下,ZonedDateTime 使用 Proleptic Gregorian calendar ,即将公历推断到当时未使用公历的世纪。

所以您实际上使用了两个日历系统。这解释了为什么您会得到两个不同的结果。

关于Java:如何获取UTC时间戳 '1000-01-01 00:00:00'?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57992234/

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