创建日期变量,无论其形式如何

2024-04-26 17:52:31 发布

您现在位置:Python中文网/ 问答频道 /正文

我有这样的字符串:

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


Tags: 字符串datetimedate格式strptimejanuaryjanary
1条回答
网友
1楼 · 发布于 2024-04-26 17:52:31

使用dateutil的^{}函数:

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

对于知道年份或日期是第一个的情况,可以设置param yearfirst=Truedayfirst=True,这假设在整个过程中都保持此约定,否则就无法消除日期的歧义。你知道吗

相关问题 更多 >