无效日期,即使它完全相同
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
我有以下问题。
我有这个功能
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