Moment.js错误地创建了一个新日期

时间:2015-04-20 10:39:56

标签: javascript momentjs

我有使用MomentJS的以下javascript行

var date = moment('20/04/20000', 'DD/MM/YYYY'); //notice year twenty thousand
alert(date.format()); // alerts "2000-04-20T00:00:00+01:00"

如果我将格式更改为DD/MM/YYYYY,它会按预期工作,当然,如果我输入6位数年份。我知道这是武断的,但它让我感到困扰。如何使用预期一年中任何数字位数的格式?

1 个答案:

答案 0 :(得分:1)

看起来似乎忽略了任何额外的格式规范。因此,您可以使用尽可能多的Y,就像您期望的最大日期所需要的那样。例如,此代码告诉我们期望10位数年:

moment('20/04/20000', 'DD/MM/YYYYYYYYYY').format();

但是它的返回值看起来像你期望的那样,5位数年份:

“20000-04-20T00:00:00-04:00”

这不是一个记录在案的功能,我会在使用未来时刻更新时对此代码非常小心。请务必使用单元测试保护此代码。