【发布时间】:2014-07-22 16:10:46
【问题描述】:
我对 0001 年 1 月 1 日 UTC 日期在 Java 和 Javascript 中的表示方式有所不同
在 Java 中:
TimeZone utcTimeZone = TimeZone.getTimeZone("UTC");
Calendar cal = Calendar.getInstance(utcTimeZone);
cal.clear();
//1st Jan 0001
cal.set(1, 0, 1);
Date date = cal.getTime();
System.out.println(date);//Sat Jan 01 00:00:00 GMT 1
System.out.println(date.getTime());// -62135769600000
在 JavaScript 中:
var date = new Date();
date.setTime(-62135769600000);
date.toUTCString(); //"Sat, 30 Dec 0 00:00:00 GMT"
为什么在 Java 中以时间 -62135769600000L 表示的日期 0001 年 1 月 1 日在 Javascript 中显示为 1 月 1 日?
【问题讨论】:
-
这对我来说似乎是 Java 中的一个错误......进一步寻找......
-
深入研究,我认为这是一个 Gregorian/Julian 转换问题。
标签: java javascript date utc