以下是场景:
我有一个String不同的日期和日期格式。例如: 日期:2016-10-19 日期 格式:“DD-MM-YYYY”。
String
我需要检查此日期是否为有效日期。
我尝试过以下事情
var d = moment("2016-10-19",dateFormat);
d.isValid()``false每次都回来。Moment.js 不解析给定格式的日期吗?
d.isValid()``false
然后我尝试先格式化日期,DD-MM-YYYY然后将其传递给 Moment.js:
DD-MM-YYYY
var d = moment("2016-10-19").format(dateFormat); var date = moment(d, dateFormat);
现在date.isValid()给了我想要的结果,但是这里 Moment.js 日期对象被创建了两次。我怎样才能避免这种情况?有更好的解决方案吗?
date.isValid()
仅供参考,我不允许更改dateFormat.
dateFormat
能够找到解决方案。由于我得到的日期是 ISO 格式,因此只提供日期到时刻将对其进行验证,无需传递 dateFormat。
var date = moment("2016-10-19");
然后date.isValid()给出想要的结果。