为了账号安全,请及时绑定邮箱和手机立即绑定

Java:如何获取 UTC 中的“1000-01-01 00:00:00”时间戳?

Java:如何获取 UTC 中的“1000-01-01 00:00:00”时间戳?

www说 2023-08-09 16:00:51
我在两个不同的结果中得到了“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 -30609792000000System.out.println(ZonedDateTime.of(1000, 1, 1,0, 0, 0, 0, timeZone.toZoneId()).toInstant().toEpochMilli()); // print -30610224000000
查看完整描述

1 回答

?
米琪卡哇伊

TA贡献1998条经验 获得超6个赞

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

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


查看完整回答
反对 回复 2023-08-09
  • 1 回答
  • 0 关注
  • 97 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信