我知道已经以某种形式询问了此问题,但我想知道如何转换日期,例如:
Saturday, May 18th, 2019
像2019-05-18
之类的东西,以便我可以将其与其他日期进行比较。我知道dateutil可以做到,但是不幸的是,我使用的是Pycharm,如果不将python从2.7升级到3,它不会让我安装该软件包。有没有办法在Python中简单地做到这一点?
答案 0 :(得分:1)
您也可以将datetime
与re
模块一起使用:
>>> from datetime import datetime
>>> import re
>>> s = 'Saturday, May 18th, 2019'
>>> datetime.strptime(re.sub('(\d+)(st|nd|rd|th)', '\g<1>', s), '%A, %B %d, %Y')
datetime.datetime(2019, 5, 18, 0, 0)
>>>
打印得更好:
>>> print(datetime.strptime(re.sub('(\d+)(st|nd|rd|th)', '\g<1>', s), '%A, %B %d, %Y'))
2019-05-18 00:00:00
>>>
答案 1 :(得分:0)
The regex solution is preferable in my opinion,但是对于不熟悉正则表达式的人来说,这是不使用re
的解决方案:
from datetime import datetime
s = 'Saturday, May 18th, 2019'
sl = s.split()
sl[2] = sl[2][:-3] # remove 'th,'
datetime.strptime(' '.join(sl), '%A, %B %d %Y')