是的,关于日期在Java和Javascript中的另一个问题。Javascript日期和java.util.Date构造函数参数
时区格林尼治标准时间+4(莫斯科)在Java和浏览器(铬)。
<script language="javascript">
var d = new Date(170798400000);
document.write(d);
</script>
给出:孙1975年6月1日00:00:00 GMT + 0400(俄罗斯标准时间)
public class Test {
public static void main(String[] args) {
java.util.Date d = new java.util.Date(170798400000L); // the same epoch value!
System.out.println(d);
}
}
给出:周六5月31日23时00分零零秒MSK 1975
如果我将时代价值更改为2011 - 2012年(在俄罗斯取消夏令时之后),产量确定。时区更新工具运行正常。
这是一个bug或特征?除了YYYY-MM-dd HH:mm:SS之外,还有什么办法来处理这个格式和重新解析吗?
从Javadoc中:
日期(长日期)
分配Date对象并对其进行初始化,以表示从被称为“历元”标准的基本时间指定的毫秒数,即1月1日,格林威治标准时间1970年00:00:00。
从javascript参考:
新的日期(毫秒)
毫秒 - 代表毫秒数自1 1970年1月的整数值〇点零零分00秒UTC(Unix的时代)。
也许这与“时区更改”有关:http://en.wikipedia.org/wiki/Moscow_Time – 2012-01-18 15:53:59
它的定义是。这是否意味着日期构造函数不能在JavaScript中使用了? – ike3 2012-01-18 15:56:03
那么,如果其中一个给出了正确的答案,而另一个却没有,那么我会说另一个有一个错误:-) Java是正确的还是JavaScript?我希望Java版本能够给出正确的答案,但这只是一个怀疑。 – Pointy 2012-01-18 15:56:08