我无法找到关于如何使用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;
有人可以提供几个例子吗?
提前致谢 -R
答案 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>