我正在使用javascript Date.UTC
,如下所示
var dt = new Date(Date.UTC(2014,09,17))
如果我将当地时区更改为,则会将结果显示为"Thu Oct 16 17:00:00 PDT 2014"
UTC -08:00太平洋时间..
从实际日期起1天的给定日期是什么原因?
注意:结果因浏览器而异。在FF中给予"NaN undefined NaN"
,在IE中,Chrome给予"Thu Oct 16 17:00:00 PDT 2014"
答案 0 :(得分:1)
Javascript Date对象使用UTC时间值。默认情况下,它们将返回日期和时间的本地值。
要访问UTC值,请使用getUTCFullYear,getUTCHours等UTC方法,或者只使用Date.prototype.toISOString,它以UTC时区返回ISO 8601格式的日期,或者使用Date.prototype.toUTCString以UTC时区返回依赖于实现的字符串:
var dt = new Date(Date.UTC(2014, 8, 17))
console.log(dt.toISOString()); // 2014-09-17T00:00:00.000Z
console.log(dt.toUTCString()); // Wed, 17 Sep 2014 00:00:00 GMT
请注意,您不应使用08
之类的数字,因为某些人可能会将其解释为八进制数,而不是十进制数。