以下是场景:
我有一个 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
。
原文由 Ganesh 发布,翻译遵循 CC BY-SA 4.0 许可协议
能够找到解决方案。
由于我得到的日期是 ISO 格式,因此只提供日期到时刻将对其进行验证,无需传递 dateFormat。
然后
date.isValid()
给出期望的结果。