gpt4 book ai didi

javascript - 在 JavaScript 中递增 ISO 日期字符串(例如 '2014-03-30' -> '2014-03-31' )

转载 作者:行者123 更新时间:2023-11-27 22:32:17 25 4
gpt4 key购买 nike

我的问题类似于this one ,但我需要处理 ISO 字符串。

我尝试改编其他问题的解决方案:

var getNextDay = function(day) {
var date = new Date(day);
date.setDate(date.getDate() + 1);
return date.toISOString().slice(0, 10);
};

这实际上在大多数情况下都有效,例如getNextDay('2014-03-31') 返回 '2014-04-01'。

但是, getNextDay('2014-03-30') 给我'2014-03-30'(切片前的完整字符串是'2014-03-30T23:00:00.000Z')

有人知道为什么会发生这种情况以及如何解决吗?

最佳答案

这是由于该日期发生的夏令时调整造成的。 March 30, 2014: Europe starts Daylight Saving Time

使用 UTCDate 来修复它:

var getNextDay = function(day) {
var date = new Date(day);
date.setUTCDate(date.getUTCDate() + 1);
return date.toISOString().slice(0, 10);
};

关于javascript - 在 JavaScript 中递增 ISO 日期字符串(例如 '2014-03-30' -> '2014-03-31' ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39452911/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com