如果我使用date-fns addYears()创建日期,我会看到预期的日期:
let d = addYears(new Date('2015-01-01), 1) // 2016-01-01T00:00:00.000Z但是,当我使用format()作为字符串输出时,我损失了一天:
let f = format(d, 'YYYY-MM-DD')
// expected output: 2016-01-01
// actual output: 2015-12-31这是format()中的错误还是预期的输出?如果是这样,有没有可能解决这个问题?
发布于 2019-04-11 03:01:56
我正在和某人讨论这件事。如果将T00:00 (显式设置小时和分钟)附加到日期字符串,它将存储正确的日期。如果在时区偏移量中省略小时和分钟,则日期时间将解释为用户本地时间。如果完全省略时间,日期将被解释为UTC。
因此,foo = new Date('2015-01-01T00:00')应该存储正确的日期,然后使用format.()函数,它将输出正确的日期。
let d = addYears(new Date("2015-01-01T00:00"), 1);
let f = format(d, "YYYY-MM-DD");
will output ---> 2016-01-01https://stackoverflow.com/questions/55561508
复制相似问题