20

假设我在控制台中输入以下代码:

var TheDate = new Date(2012, 10, 5);
TheDate.toUTCString();
"Sun, 04 Nov 2012 23:00:00 GMT" (I'm +1 hour ahead of GMT)

结果是日期实际上设置为本地时间。如何创建设置为 UTC 的日期?如果我这样做,TheDate.toUTCString()我希望它说 2012 年 11 月 5 日 00:00:00 GMT。

谢谢。

4

3 回答 3

50

使用Date.UTC()方法:

var TheDate = new Date( Date.UTC(2012, 10, 5) );
console.log( TheDate.toUTCString() );

返回

Mon, 05 Nov 2012 00:00:00 GMT

日期.UTC

接受与构造函数的最长形式相同的参数,并返回 Date 对象中自 1970 年 1 月 1 日 00:00:00(通用时间)以来的毫秒数。

于 2012-11-13T16:00:54.273 回答
0

我找到了它的简写,您还可以以ISO 格式创建日期,new Date('YYYY-MM-DD')以便将日期创建为UTC

var DateA = new Date( '2012-11-05' );
console.log( DateA.toUTCString() );

// note the difference between input methods

var DateB = new Date( Date.UTC(2012, 10, 5) );
console.log( DateB.toUTCString() );

于 2018-12-18T08:58:49.120 回答
-3

我建议你使用 momentjs (

momentjs.com

),那么您所要做的就是:

var theDate = new Date(2012, 10, 5),
    utcDate = moment.utc(theDate);
于 2012-11-13T15:58:42.327 回答