0

顾名思义,我有一个简单的 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;
}
4

0 回答 0