如何解决使用 date-fns add() 方法添加月份时出现错误?
我一直在尝试使用 date-fns add() 函数为日期添加一个月。它在大多数情况下都像宣传的那样有效。
period = new Date('2021-03-01') //im actually getting this from a DB,already in date format
console.log(period) //logs 2021-03-01T00:00:00.000Z just as it looks in DB
add(period,{months: 1})
//returns 2021-03-29T00:00:00.000Z
// which is clearly not the first day of the next month
如果我提供的日期不是该月的第一天,它返回就好
period = new Date('2021-03-02')
add(period,{months: 1})
//returns 2021-04-02T00:00:00.000Z
这让我疯狂了好几个小时,我不得不使用 Date.getUTC 方法构建自己的函数来为我的日期添加一个月。有谁知道这是否是一个实际的错误,一个功能?我做错了什么吗?
我认为这可能与我的本地时区有关,因为较新版本的 date-fns 不再使用通用时区。然而,它并不是给我这个月的最后一天,也就是 3 月 31 日,而是给了我 29 日……这似乎是随意的。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。