如何使用Moment.js将日期验证为指定格式?

时间:2017-10-06 05:14:28

标签: javascript validation date momentjs

我无法找到关于如何使用moment.js验证日期输入的现有问题/答案,以确保它采用这种格式," 2017-12-31T23:59:59Z"。

鉴于我已经将日期作为字符串," 2017-12-31T23:59:59Z",如何验证日期字符串是否严格采用指定的格式,&# 34; YYYY-MM-DDTHH:MM:SSZ"

我已经尝试了以下内容,它似乎对我没用。



var dateTime = "2017-12-31T23:59:59Z";
var utc = moment(dateTime, "YYYY-MM-DDThh:mm:ssZ", true)
var isUTC = utc.isValid(dateTime);

console.log(isUTC);

<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.min.js"></script>
&#13;
&#13;
&#13;

有人可以提供几个例子吗?

提前致谢 -R

1 个答案:

答案 0 :(得分:3)

时刻标记区分大小写,您应使用大写HH来解析0-23小时,hh用于解析1-12。请参阅moment(String, String, Boolean)文档。

这是一个实例:

var dateTime = "2017-12-31T23:59:59Z";
var utc = moment(dateTime, "YYYY-MM-DDThh:mm:ssZ", true)
var isUTC = utc.isValid();
console.log(isUTC);

utc = moment(dateTime, "YYYY-MM-DDTHH:mm:ssZ", true)
isUTC = utc.isValid();
console.log(isUTC);
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.min.js"></script>