0

isToday()我对 date-fns函数的输出感到困惑。

跑步new Date()我目前得到2019-09-06T20:12:40.737Z

我正在运行2019-09-06T00:00:00.000ZisToday()它返回错误。

我也很困惑,因为当我将日期字符串化时,它会返回昨天的日期。

cost isToday = require('date-fns/isToday')

myDate === // 2019-09-06T00:00:00.000Z

console.log(new Date())
// 2019-09-06T20:12:40.737Z

console.log(isToday(myDate))
// false

console.log(myDate.toString())
// Thu Sep 05 2019 18:00:00 GMT-0600 (Mountain Daylight Time)

这是时区的事情吗?我是否误解了 javascript 日期的存储方式?或者这是一个 date-fns 问题?

4

1 回答 1

1

我想到的东西

new Date('2019-09-06T00:00:00.000Z') 输出给我 Thu Sep 05 2019 21:00:00 GMT-0300

new Date('2019-09-06T00:00:00.000') 输出给我 2019 年 9 月 6 日星期五 00:00:00 GMT-0300

请注意,最后的 Z 使 Date 将其视为时区 +00:00。我只是放弃它。

于 2021-12-02T13:07:14.557 回答