我需要帮助检查给定日期是否以列表的日期格式存在。我有一个日期格式列表。我想检查给定的日期是否以该日期格式存在。我该怎么做?然而,尽管出现了一个错误,我还是试着去做了。
我的代码:
x = "03-24-2019"
Date = ['%Y/%m/%d','%Y-%m-%d','%Y%m%d','%m/%d/%Y','%m-%d-%Y']
if x in any(Date):
print(Date)
else:
print('no')
错误消息:
TypeError: argument of type 'bool' is not iterable
执行输出:
%m-%d-%Y
以下内容应该可以使用。
这个想法是循环转换格式并尝试调用strptime
from datetime import datetime
x = "03-24-2019"
date_formats = ['%Y/%m/%d', '%Y-%m-%d', '%Y%m%d', '%m/%d/%Y', '%m-%d-%Y']
for date_format in date_formats:
try:
d = datetime.strptime(x, date_format)
print(date_format)
break
except ValueError as e:
pass
输出
%m-%d-%Y