顾名思义,我有一个简单的 TypeScript 函数 (toISODate),它应该将字符串转换为 ISO 日期字符串。
示例:“20-9-2020”将变为 20-9-2020T15:14:53.151Z
这适用于几乎所有字符串,但当输入日期字符串以“31”开头时会出错。在这种情况下,“31”被转换为“01”。
示例:“31-05-2021”变为 01-05-2021T15:14:53.151Z
如何解决这个问题呢?
源代码:
toISODate(date: string): string | null {
if (date) {
const splitDate = date.split('-');
if (splitDate[2].length == 4) {
return dayjs().set('date', +splitDate[0])
.set('month', +splitDate[1] - 1)
.set('year', +splitDate[2])
.toISOString();
} else {
return date;
}
}
return date;
}