我试图使用date-fns
库来添加和减去日期,但它不能正确处理UTC日期。例如:
> const { add } = require('date-fns');
undefined
> s = new Date('2021-03-27')
2021-03-27T00:00:00.000Z
> add(s, {days:1})
2021-03-28T00:00:00.000Z
> add(s, {days:2})
2021-03-28T23:00:00.000Z
问题是我的日期是在UTC,我想对它们做UTC日期算术,但一旦它们被转换为日期/时间,它们就被视为本地日期。这是一个问题。我怎么解决这个问题?
您可以进行所有操作,并在函数结束时调用最终日期对象的toISOString()方法。它将返回UTC的0值。
并且记住,您通过参数传递给add
函数的date对象永远不会改变,返回值是您想要的。