我有这样的字符串:
3/11/2014
3 January 2014
3rd 11 2014
3th January 2014
我是否可以从这些字符串中创建日期变量?
我可以使用格式的字符串制作日期变量,如下所示:
datetime.strptime("3-11-2014","%d-%m-%Y").date()
日期格式为未知
所以有时它是3/11/2014
,有一次它是3-11-2014
,有一次它是3th janary 2014
答案 0 :(得分:3)
使用dateutil的parse
功能:
In [217]:
dates=['3/11/2014',
'3 January 2014',
'3rd 11 2014',
'3th January 2014']
import dateutil as dt
In [218]:
for date in dates:
print(dt.parser.parse(date))
2014-03-11 00:00:00
2014-01-03 00:00:00
2014-03-11 00:00:00
2014-01-03 00:00:00
对于您知道年份或日期是第一个的情况,您可以设置参数yearfirst=True
和dayfirst=True
,这假设此约定始终保持,否则则无法消除日期的歧义