我希望能够在python中将字符串转换为日期格式。但有些日期和月份被分配到00。
date = ['00-00-2001', '10-01-2014']
当我尝试时:
datetime.strptime(date[1], '%d-%m-%Y')
,当然它运作正常,
但是datetime.strptime(date[0], '%d-%m-%Y')
,我得到以下错误。
时间数据' 00-2001'不匹配格式'%d-%m-%Y'
答案 0 :(得分:1)
根据Python Docs:
%d作为零填充十进制数的月份日期。 01,02,...,31
%m月份为零填充十进制数。 01,02,...,12
这些都不接受00
作为有效字符串。
另请参阅我在https://stackoverflow.com/a/38801552/1005215的回答,其中说明了如何通过传递默认参数来使用parser
中的dateutil
。
答案 1 :(得分:0)
执行:
corrected_date = []
for d in dates:
components = d.split('-')
components = [str(c).zfill(2) if(int(c) > 0) else str(int(c) + 1).zfill(2) for c in components]
corrected_date.extend(['-'.join(components)])
现在在strftime
上尝试corrected_date
。