无效日期,即使它完全相同

Invalid date even if it's exactly the same

我有以下问题。

我有这个功能

  let time = datapoints.map((datapoint) => {
    let time = dayjs(datapoint.time)

    if (time.$d == 'Invalid Date') {
      console.log(datapoint.time, 'invalid')
    } else {
      console.log(datapoint.time)
    }
    return time
  })

datapoint.time 是这种格式 12.1.2021, 22:45:00

现在如果我用控制台记录它,它会显示我:

我不明白,为什么这次只是随机不转换?

编辑:

我试过以下方法:

import dayjs from 'dayjs'
import customParseFormat from 'dayjs/plugin/customParseFormat'
let time = dayjs(datapoint.time, 'DD.MM.YYYY, HH:mm:ss')

但它的日期仍然无效

你很接近,将 let time = dayjs(datapoint.time, 'DD.MM.YYYY, HH:mm:ss') 更改为 let time = dayjs(datapoint.time, 'DD.M.YYYY, HH:mm:ss'),因为 MM 期望 2 位数的月份,而你有 1 位数的月份。

对于任何偶然发现的人: https://day.js.org/docs/en/parse/string-format#list-of-all-available-parsing-tokens