【问题标题】:Date-fns parseISO returning wrong dateDate-fns parseISO 返回错误的日期
【发布时间】:2020-11-30 16:19:38
【问题描述】:

您好,我从 Date-fns 得到的日期有误。 我正在用 date-fns 格式格式化 new Date()。

format(date, "yyyy-MM-dd")

所以当我使用 console.log 时,就会发生这种情况

console.log("dateOfBirth ", dateOfBirth); //  1997-04-06
console.log("parsedDate ", parseISO(dateOfBirth));  // 1997-04-05T18:00:00.000Z

为什么这两个日期不同? 那么这里发生了什么?

【问题讨论】:

  • 这是因为方法的返回类型。 format() 返回“一个字符串” parseISO() 返回“本地时区的解析日期”
  • 删除日志中的逗号(,)并使用+符号您会清楚地看到差异。 console.log("parsedDate "+parseISO(dateOfBirth));

标签: javascript date date-fns


【解决方案1】:

我认为这只是一个时区问题,请尝试在创建日期对象时附加“T00:00”,当您不指定时间时,这取决于哪个时区用户。可能你在 UTC - 6,对吧?
const dateOfBirth = new Date("1997-04-06T00:00")

【讨论】:

    猜你喜欢
    • 2021-05-04
    • 2021-06-22
    • 2019-09-03
    • 1970-01-01
    • 1970-01-01
    • 2021-03-28
    • 2021-01-23
    • 2019-02-02
    • 2017-02-16
    相关资源
    最近更新 更多