Javascript Node.js服务器打印比实际值晚数小时的静态日期

Javascript Node.js服务器打印比实际值晚数小时的静态日期,javascript,node.js,datetime,timezone,Javascript,Node.js,Datetime,Timezone,正在尝试从heroku服务器上的节点应用程序打印时间。打印出来的时间不匹配 这是一个6小时的差异(我们在格林尼治标准时间6),所以这是一个时间僵尸的问题是有道理的。但是,我很矛盾,因为打印的日期是以以下格式创建的: var time = (new Date('2012', '12', '10')).valueOf(); console.log(time); 给出1355097600000而不是1355119200000 静态创建的日期应该始终是静态的,对吗?无论您处于哪个时区,2012/12/

正在尝试从heroku服务器上的节点应用程序打印时间。打印出来的时间不匹配

这是一个6小时的差异(我们在格林尼治标准时间6),所以这是一个时间僵尸的问题是有道理的。但是,我很矛盾,因为打印的日期是以以下格式创建的:

var time = (new Date('2012', '12', '10')).valueOf();
console.log(time);
给出
1355097600000
而不是
1355119200000


静态创建的日期应该始终是静态的,对吗?无论您处于哪个时区,
2012/12/10
的开头应该与
1970/01/01

Javascript基于浏览器或节点服务器的时区创建日期。要获取静态日期,您需要传入要在其中创建日期的时区。示例:

var time = (new Date('December, 2012 12:00:00 pm GMT')).valueOf(); 
console.log(time)
返回

1354363200000
我的时区是太平洋标准时间,所以如果我

var time = (new Date('December, 2012 12:00:00 pm PST')).valueOf(); 
console.log(time)
它返回的值(135439200000)与我执行的相同

var time = (new Date('December, 2012 12:00:00 pm')).valueOf(); 
console.log(time)