如何在Javascript中构造一个UTC日期作为一个对象,而不是一个数字

How do I construct a UTC date in Javascript as an object, not a number?

本文关键字:一个 一个对象 数字 日期 Javascript UTC      更新时间:2023-09-26

在Javascript中,给定d=new Date(),可能会出现d.getHours()!=d.getUtcHours() .

我可以构造一个Date对象,显式地给出组件

new Date (y, m, d, hrs, mins)

但如果这些组件是UTC那么我有一个问题。从docs

UTC()方法与Date构造函数有两个不同之处。

  • Date.UTC()使用世界时而不是本地时间。

  • Date. utc () 返回一个时间值作为数字而不是创建一个Date对象。

我如何构建一个Date 对象给定UTC组件?

根据这个答案你可以这样做:

new Date(Date.UTC(year, month, day, hour, minute, second))

new Date(Date.UTC(...))怎么样,例如new Date(Date.UTC(2016, 9, 5, 13, 11, 5))

var milliseconds = Date.UTC(y, m, d, hrs, mins);
var date = new Date(milliseconds);