ISO转换后,JavaScript时间落后一小时

时间:2015-04-01 11:04:10

标签: javascript datetime iso

我在JavaScript中使用正确的时间创建了一个新的日期,但在我使用toISOString()进行转换后,它落后了一个小时。为什么会这样?

https://jsfiddle.net/73nfyxeL/

var createdDateTime = new Date('2015-04-01 11:53:00');
var isoCreatedDateTime = "";

alert(createdDateTime);
isoCreatedDateTime = createdDateTime.toISOString().match(/(\d{4}\-\d{2}\-\d{2})T(\d{2}:\d{2}:\d{2})/);
alert(isoCreatedDateTime[1] + ' ' + isoCreatedDateTime[2]);
createdDateTime.setMinutes(createdDateTime.getMinutes() + 1);

据我所知,这应该不受当地时间变化的影响(例如夏令时),因为我给它预先设定的时间,而不是时区。发生了什么事?

1 个答案:

答案 0 :(得分:2)

toISOString method不仅格式化日期,首先将其转换为UTC。

您当地的时区与UTC之间的差异是一小时。