【发布时间】:2017-02-28 15:25:18
【问题描述】:
以下是场景:
我有一个String 日期和不同的日期格式。例如:
日期:2016-10-19
日期格式:“DD-MM-YYYY”。
我需要检查这个日期是否有效。
我已经尝试过以下事情
var d = moment("2016-10-19",dateFormat);
d.isValid() 每次都返回false。 Moment.js 不解析给定格式的日期吗?
然后我尝试先将日期格式化为DD-MM-YYYY,然后将其传递给 Moment.js:
var d = moment("2016-10-19").format(dateFormat);
var date = moment(d, dateFormat);
现在date.isValid() 给了我想要的结果,但是这里 Moment.js 日期对象被创建了两次。我怎样才能避免这种情况?有没有更好的解决方案?
仅供参考,我不允许更改dateFormat。
【问题讨论】:
-
不允许更改dateFormat的值吗?在这种情况下,您将不得不更改输入的格式,因为 2016-10-19 是 YYYY-MM-DD,而不是 DD-MM-YYYY。你可以改变什么?
-
输入来自日期选择器。也不能改变:(
-
请问为什么不允许更改 dateFormat 变量? var d = moment("19-10-2016", "DD-MM-YYYY");就我而言,会解决你的问题
-
真的不能说。但我无法控制更改该值。
标签: javascript date datetime momentjs