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 时差一小时。
我在 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 时差一小时。