首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么moment.js在使用严格的解析时允许日期为一位数的年份?

为什么moment.js在使用严格的解析时允许日期为一位数的年份?
EN

Stack Overflow用户
提问于 2014-09-17 13:42:55
回答 1查看 2.1K关注 0票数 3

我使用moment.js解析日期。http://momentjs.com/docs/#/parsing/string-format/

这是为了验证日期并将其转换为我的数据库所需的格式。在我的测试中,我遇到了这个输入日期'6-4-3‘,它应该在给定的格式下无效。

代码语言:javascript
复制
moment('6-4-3','YYYY-MM-DD',true).isValid(); //returns true

当前对象的结果日期是"Mon Apr 03 0006 .“。当我调用isValid时,它返回true。我认为它应该认为这个日期无效,因为它在格式字符串的每个部分的输入中的数字太少。

我在代码中添加了一个regex.test,以确保日期有正确的数字,但我认为在moment.js中,当严格为真时,应该以不同的方式处理。

这里有什么东西我遗漏了吗?这不是严格解析的重点吗?或者有什么原因可以解释为什么这是行为的意图?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-09-17 16:39:09

对于Moment.js:YYYY DD,具有3位数的年份返回isValid()的true的过去版本来说,这是一个已知的问题。

它是在2013年12月修复的,您的代码可以像预期的那样使用最新版本的库。版本2.3.1 于2013年10月获释,不包括此修复程序。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25892298

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档