我正在编写一个API,我想接受ISO 8601格式的日期和时间。我只想接受的格式。我目前正在使用dateutil,但它的解析函数接受与ISO8601无关的所有格式。我现在有一个简单的regex检查格式,但是实际的标准允许的比我的regex做的多得多。
是否有一个简单的函数/模块提供了一种只解析8601格式化日期/时间的方法?
发布于 2014-02-07 06:42:07
您可以使用datetime.datetime.strptime,如果它不能针对您指定的格式进行解析,则会产生错误:
from datetime import datetime
def parse_8601(s):
"""Parses date string if in an ISO 8601 format, else returns None."""
for f in ["%Y-%m-%dT%H:%M:%S", ...]: # acceptable formats
try:
return datetime.strptime(s, f)
except ValueError:
passhttps://stackoverflow.com/questions/21619965
复制相似问题