我怎样才能.js时刻将日期'1234 56 78'视为无效日期?



我有一个Javascript/NodeJS单元测试,它试图验证无效日期是否引发异常。 代码是这样的:

let inputDate = '1234 56 78';
let useFormat = 'DD MMM YYYY';
try {
    let aDate = moment(inputDate, useFormat);
    if (isNaN(aDate)){
        throw Error("Invalid date: " + inputDate)
    }
    console.log('date [' + inputDate + '] is valid and parses to [' + aDate.format(useFormat) + ']');
} catch (ex) {
    // success
    console.log('got ex',ex.toString())
}

控制台输出为:

date [1234 56 78] is valid and parses to 12 Jan 1978

您可以轻松地在 jsbin.com 中运行它以重现错误,抱歉我没有指向它的链接。

我需要做什么才能获得将此日期视为无效日期的时间?

或者,也许,我需要学习什么才能理解日期是有效的。

运行时刻.js在严格模式下将拒绝输入:

let aDate = moment(inputDate, useFormat, true);

最新更新