在那一刻,JS默认为1900而不是2000?

时刻(“05/1/11”)。toString()返回“2011年5月1日星期一”,并非如预期的那样。

在Moment.js文档中,我看到“2位数年份(如果大于68将返回1900年,否则2000年)”多次(年,周和ISO年)。

我希望在分析没有格式的日期时默认遵循这一点,但事实并非如此。 这是一个功能吗? 无论如何,是否有办法强制它以这种方式行事(2000年如果少于68年)?

我需要解析自由形式的用户输入。 它可能是2011年7月5日11或7月6日的5/1/11。因此,我希望传入的唯一格式是年份字段,并且只有在未找到四位数年份用户输入。


如果你没有指定格式字符串,则解析由浏览器处理(即new Date(string) ),而不是Moment; 请参阅文档中关于moment(string)的文档moment(string) 。 如果您想要Moment进行解析(并应用> 68的规则),则需要提供格式字符串。

var test = moment("05/1/11", "MM/D/YY").toString();
$('#date').append(test);

http://jsfiddle.net/WBDDc/

输出:

Sun May 01 2011 00:00:00 GMT-0400
链接地址: http://www.djcxy.com/p/77733.html

上一篇: Year in moment JS defaults to 1900 instead of 2000?

下一篇: How to make the inline ckeditor toolbar fixed at the top and not float