setUTCHours 将一个小时添加到传递给函数的时间

setUTCHours Adds an hour to time passed to the function

我正在尝试分别从日期和时间字符串创建 DateTime 对象。 然而 setUTCHour 函数不断增加一个小时的时间,我知道英国的时间是 GMT + 1 但是因为时间已经存储在 UTC 时间中我不想增加一个小时的时间..

下面是代码..

var eventStartDate = $('#EventStartDate').val();  // value:  "10/10/2016"
var eventStartTime = $('#EventStartTime').val();  // value:   "10:00"
var eventStartTimeArr = eventStartTime.split(":"); 

if (eventStartTimeArr.length = 2) {
    eventStart.setUTCHours(eventStartTimeArr[0], eventStartTimeArr[1], 00, 00)
}

这显示事件开始时间为“10/10/2016 11:00”,比预期值多一小时。这应该是“10/10/2016 10:00”。

setUTCHours is basically setHours 使用 UTC 偏移量。

例如,如果您处于 GMT-7 时区,则使用 setUTCHours(10, 0, 0, 0) 等同于使用 setHours(10 + (-7 /* local time offset */), 0, 0, 0)

如果您已经设置了 UTC 时间,则无需重新应用该偏移量(因为对象的本地时间现在是 UTC 时间)。使用 setHours 直接应用小时数。