moment.js警告:Deprecation warning: value provided is not in a recognized RFC2822 or ISO format.

使用moment.js解析日期字符串,检查日期字符串是否为合法有效:

var datestr= '2018-05-01 23:00:00';
if (moment(datestr).isValid()) {
console.log('valid date');
} else {
console.log('invalid date');
}

当日期为非法的字符串是,如datestr='2018-05-01 23;00;00',它会在控制台输出警告:

moment.min.js:6 Deprecation warning: value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged and will be removed in an upcoming major release. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.
Arguments:
[0] _isAMomentObject: true, _isUTC: false, _useUTC: false, _l: undefined, _i: 2018-05-01 23;00:00, _f: undefined, _strict: undefined, _locale: [object Object]
Error
at Function.createFromInputFallback (https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.min.js:6:3248)
at gb (https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.min.js:6:19736)
at rb (https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.min.js:6:22824)
at qb (https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.min.js:6:22691)
at pb (https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.min.js:6:22410)
at sb (https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.min.js:6:23150)
at tb (https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.min.js:6:23184)
at a (https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.min.js:6:202)
at file:///C:/Users/ccs/Desktop/demo.html:60:5

为了避免此警告,可以使用moment(String, String); 第二个参数为日期格式,"2018-05-01 23:00:00"为moment.ISO_8601格式,修改如下:

var datestr= '2018-05-01 23:00:00';
if (moment(datestr,moment.ISO_8601).isValid()) {
console.log('valid date');
} else {
console.log('invalid date');
}

版权声明:著作权归作者所有。

相关推荐

使用moment.js加减日期时间

moment.js提供了很多便捷的操作日期的函数,其中包括加减日期时间增加日期时间语法moment().add(Number, String); moment().add(Duration); moment().add(Object); 添加天数moment().add(7, 'days'); 可以简写为moment().add(7, 'd'); 类型列表years(