moment.js在特定日期转换为ISO输出null +警告

时间:2019-04-02 06:29:00

标签: reactjs momentjs

我在我的React应用程序中使用“ moment”:“ 2.22.2”

当我使用它们转换它们时,我有两个字符串日期 moment().toISOString()其中之一返回null。

对于所有早于2019年11月13日的日期返回null

考试时间:14.11.2019&15.11.2019&16.11.2019 ...

    const date1 = '12.11.2019 23:55';
    const date2 = '13.11.2019 23:55';

    moment(date1).toISOString() // =>  2019-12-11T22:55:00.000Z
    moment(date2).toISOString() // =>  null

我的应用程序本地有问题吗?还是由于时刻库而导致错误?

1 个答案:

答案 0 :(得分:2)

我认为您应该使用自定义格式来解析字符串,因为没有它,它会认为12.11是12月11日(格式为[month]。[day])。

改为使用此表单:

const date1 = '12.11.2019 23:55';
const date2 = '13.11.2019 23:55';

moment(date1,'DD.MM.YYYY HH:mm').toISOString()
moment(date2,'DD.MM.YYYY HH:mm').toISOString()

在此处查看文档(https://momentjs.com/docs/#/parsing/string-format/