具有语言环境的moment.js在node.js中不起作用

时间:2016-08-23 09:32:48

标签: javascript node.js momentjs

我正在以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')
 }

1 个答案:

答案 0 :(得分:2)

首先根据Github上的momentJS存储库中的“de”locale fileMä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");
}