JavaScript ISO 转换后时间晚了一个小时

JavaScript time is an hour behind after ISO conversion

我在 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);

据我所知,这应该不受当地时间变化的影响(例如夏令时),因为我给它一个预设时间,而不是时区。怎么回事?

toISOString method不只是格式化日期,首先它被转换为UTC。

您当地的时区与 UTC 时差一小时。