setUTCHours添加传递给函数的一小时

时间:2015-09-18 09:00:15

标签: javascript jquery asp.net-mvc datetime utc

我正在尝试分别从日期和时间字符串创建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日11:00"比宣传价值还要多一个小时..这应该是" 10月10日10:00"。

1 个答案:

答案 0 :(得分:1)

setUTCHours基本上是使用UTC偏移的setHours

例如,如果您使用的是GMT-7时区,则使用setUTCHours(10, 0, 0, 0)相当于使用setHours(10 + (-7 /* local time offset */), 0, 0, 0)

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