我正在以D. MMM YYYY
格式验证moment.js中的日期,然后将其转换为格式YYYY-MM-DD
。虽然验证它一直给我无效的日期。以下是代码。
var date = '26. Mär 1995';
var mom = moment(date, "D. MMM YYYY","de", true);
if (mom.isValid()) {
console.log(moment(date, 'D. MMM YYYY').format('YYYY-MM-DD'));
} else {
console.log('invalid date')
}
答案 0 :(得分:2)
首先根据Github上的momentJS存储库中的“de”locale file,März的shortMonth是 Mrz。(是的,带点。)检查下面的代码(来自同一个文件):
monthsShort : 'Jan._Febr._Mrz._Apr._Mai_Jun._Jul._Aug._Sept._Okt._Nov._Dez.'.split('_')
其次,对于您的约会,您无需重新解析它,只需直接格式化您的时刻:
mom.format('YYYY-MM-DD');
把所有东西放在一起:
var date = "26. Mrz. 1995";
var mom = moment(date, "D. MMM YYYY", "de", true);
if (mom.isValid()) {
console.log(mom.format("YYYY-MM-DD");
} else {
console.log("invalid date");
}