问题: IE 10中的新Date()的不同格式 - IE 11。 使用Javascript:
IE 11 / Chrome:
var m = new Date("2014-07-04T04:00:00");
console.log(m); // Fri Jul 04 2014 06:00:00 GMT+0200 (W. Europe Summer Time)
IE 10:
var m = new Date("2014-07-04T04:00:00");
console.log(m); // Fri Jul 4 04:00:00 UTC+0200 2014
可以使用一个戒指来统治它们吗?
答案 0 :(得分:7)
您不应该将字符串传递给new Date
,特别是出于这个原因。
相反,您应该为其提供单独的参数:
new Date(2014, 6, 4, 4, 0, 0); // remember months are zero-based
或者,如果您想以UTC格式给出时间,请尝试:
var d = new Date();
d.setUTCFullYear(2014);
d.setUTCMonth(6);
d.setUTCDate(4);
d.setUTCHours(4);
d.setUTCMinutes(0);
d.setUTCSeconds(0);
d.setUTCMilliseconds(0);
当然,您可以执行此功能。
或者,如果您有时间戳,则可以执行以下操作:
var d = new Date();
d.setTime(1404446400000);
答案 1 :(得分:0)
稍微完成答案。给出的UTC示例是危险的,因为您在5月31日(或者每月的第31天)执行以下操作:
var d = new Date();
d.setUTCFullYear(2014);
d.setUTCMonth(5);
d.setUTCDate(4);
d.setUTCHours(4);
d.setUTCMinutes(0);
d.setUTCSeconds(0);
d.setUTCMilliseconds(0);
它将产生" 2014年7月4日04:00:00"。
所以更喜欢Date.UTC功能:
new Date(Date.UTC(2014, 5, 4, 4, 0, 0, 0))
它将产生" 2014年6月4日04:00:00"。