如何处理UTC数学使用日期-fns库在节点?



我试图使用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对象永远不会改变,返回值是您想要的。

最新更新