如何根据YYYY-MM-DD,YYYY / MM / DD和DD.MM.YYYY获取日期并返回YYYY-MM-DD的功能? 我已经尝试了一些适用于其中一种格式的方法,但不是其他方式
答案 0 :(得分:0)
很难用一行尝试所有,所以你可以尝试这样:
from datetime import datetime
dt = "30-4-1994"
for fmt in ('%Y-%m-%d', '%Y/%m/%d', '%d.%m.%Y'):
try:
example_time = datetime.strptime(dt, fmt).date()
print(example_time)
except ValueError:
continue
O / P将采用YYYY-MM-DD格式,如下所示:
1994-04-30
答案 1 :(得分:0)
只需在输入中打开分隔符字符串,即可选择合适的datetime.strptime()
格式:
from datetime import datetime
FORMATS = {'-': '%Y-%m-%d', '/': '%Y/%m/%d', '.': '%d.%m.%Y'}
def convertdate(ds, outputformat='%Y-%m-%d', _formats=FORMATS):
for delim, format in _formats.items():
if delim in ds:
return datetime.strptime(ds, format).strftime(outputformat)
演示:
>>> convertdate('2012-03-12')
'2012-03-12'
>>> convertdate('2012/03/12')
'2012-03-12'
>>> convertdate('12.03.2012')
'2012-03-12'