【发布时间】:2021-10-09 22:57:49
【问题描述】:
我目前有一个需要日期时间验证的 JSON 架构。
"type": "array",
"items": {
"type": "object",
"properties": {
"activeFrom": {"type": "string", "format": "datetime", "pattern": ********},
}
...
验证应该存在,以便
- 日期格式为 YYYY-MM-DDTHH:MM:SS.00-00:00 表示(年-月-日"T"时:分:秒.毫秒-TimeZoneHour:TimeZoneMinute) GMT 时区 = 00:00 示例:2022-11-12T16:32:21.00-00:00
- 不接受错误日期(即 2 月 31 天,或包含闰年)
我尝试了许多不同的模式 (******),但似乎找不到一种有效的模式。
如果此问题结构不正确,对于 SO 来说是新的,请感谢任何帮助和道歉 :)
【问题讨论】:
-
您拥有的格式基于ISO 8601,因此可以使用Python 3.7+ 标准库的fromisoformat 将字符串解析为日期时间对象。如果失败,则无效。但是:请注意,该方法还解析例如仅日期字符串。
-
顺便说一句。如果您尝试了一些无法解决问题的方法,最好将其添加到问题中,以向读者展示您离开的地方。
标签: python validation datetime lambda schema