javascript - 以特定模式验证包含 DateTime 的字符串
问题描述
我正在尝试对从 Nodejs 中的帖子接收的参数进行一些验证。身体是这样的:
{
"startDateTime": "2019-10-01 00:00:01",
"endDateTime": "2019-10-01 23:59:59",
"interval": "00:00:01"
}
所以,我需要验证是否startDateTime
并且endDateTime
在模式"yyyy-MM-dd hh:mm:ss"
中,并且interval
在"hh:mm:ss"
我尝试使用 moment 包,但没有用
const testDate = moment(startDateTime, "yyyy-MM-dd hh:mm:ss", true).isValid()
我正在通过StartDateTime = "2019-10-01 00:00:01"
并被testDate
分配为假。
任何人都可以帮忙吗?
解决方案
您使用了错误的格式。试试"YYYY-MM-DD HH:mm:ss"
吧。
要了解有关 Moment.js 格式的更多信息,请查看其文档。
let response = {
"startDateTime": "2019-10-01 00:00:01",
"endDateTime": "2019-10-01 23:59:59",
"interval": "00:00:01"
};
const testDate = moment(response.startDateTime, "YYYY-MM-DD HH:mm:ss", true).isValid();
console.log(testDate);
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js"></script>
推荐阅读
- python - 具有多个 OrderedDictkeys 的 Python xmltodict
- c# - 将带有类的字典保存到文件
- python - 如何在python中的函数内创建模块级全局变量
- iis - URL重写导致重定向你太多次
- node.js - puppeteer 在谷歌应用引擎的生产中发送错误 500
- javascript - 如何添加样式或类名并从 Web 组件中删除其他元素?
- intellij-idea - IntelliJ IDEA 内部错误“Equal objects must have equal hashcodes”(作者 Trove)
- sql - 重用 T-SQL FOR JSON 子查询
- java - 图中的“CPU”代表“核心”吗?
- docker - Docker:浏览到主机上的容器不起作用