我目前有一个JSON模式需要日期时间验证。
"type": "array",
"items": {
"type": "object",
"properties": {
"activeFrom": {"type": "string", "format": "datetime", "pattern": ********},
}
...
验证应该存在,以便
- 日期的格式为YYYY-MM-DDTHH:MM:SS.00-00:00代表(Year-Month-Day" T"小时:分钟:Second.Milisecond-TimeZoneHour: TimeZoneMinute)GMT时区= 00:00例如:2022 - 11 - 12 - t16:32:21.00 - 00:00
- 不接受错误的日期(即2月的31天,或包含闰年)
我尝试了许多不同的模式(******),但似乎不能找到一个工作。
感谢任何帮助,如果这个问题的结构是不正确的,道歉:)
我想这会以你想要的方式检查日期。
首先是pip install python-dateutil
编辑:修改了以下注释。
from dateutil.parser import parse, ParserError
from datetime import timedelta
def check_date_is_legit(input_date):
"""
Checks if an input_date is legitimate
:param input_date: string, date to check.
:return result: False if the date isn't legit and True if it is.
"""
try:
parsed = parse(input_date)
if parsed.tzname() == 'UTC':
result = True
else:
result = False
except ParserError:
result = False
return result