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

setUTCHours Adds an hour to time passed to the function

本文关键字:小时 一个 增加 时间 函数 setUTCHours      更新时间:2023-09-26

我试图分别从日期和时间字符串创建一个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基本上是使用UTC偏移量的setHours

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

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