创建 javascript 日期 UTC

IT技术 javascript date datetime utc
2021-03-10 05:14:12

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

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。

谢谢。

3个回答

使用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(通用时间)以来的毫秒数。

我跑 TheDate.getTimezoneOffset();我没有得到0我所期望的,知道如何解决这个问题吗?
2021-04-21 05:14:12
@杰克T。Date.UTC()只返回时间戳(一个数字)。new Date( Date.UTC() )将返回一个Date对象。
2021-05-03 05:14:12
new Date( Date.UTC(2012, 10, 5) );之间的功能区别是Date.UTC(2012, 10, 5);什么?
2021-05-16 05:14:12

我找到了简写,您还可以以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() );

我建议你使用momentjs (

momentjs.com

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

var theDate = new Date(2012, 10, 5),
    utcDate = moment.utc(theDate);
这不能回答问题。作者想要一个Date对象,moment.utc不返回Date。
2021-05-04 05:14:12