【发布时间】:2013-04-17 22:37:10
【问题描述】:
代码:
var x = new Date(Date.UTC(0, 0, 0));
x.setUTCFullYear(0);
// in Firefox, writes "Date {Sat Dec 30 0000 16:00:00 GMT-0800 (Pacific Standard Time)}"
// in IE, writes "LOG: Sat Dec 30 16:00:00 PST 1 B.C."
console.log(x);
// Create a copy of x
var y = new Date(x);
// in Firefox, writes "Date {Sat Dec 30 0000 16:00:00 GMT-0800 (Pacific Standard Time)}"
// in IE, writes "LOG: Invalid Date"
console.log(y);
这似乎发生在任何非常古老的日期
我的问题:这里到底什么是无效的,为什么只有 IE?我怎样才能解决这个问题并实际创建日期的副本?
【问题讨论】:
-
var y = new Date(x.getTime());呢? -
什么版本的 IE,它是只在兼容模式下发生还是总是发生?
-
@Ejay——你的意思是?
-
最好以ECMA-262开头。 Javascript 日期对象被定义为使用公历系统,从引入时向前和向后扩展。天文系统在这里不适用。
标签: javascript date