2016-12-16 66 views
-1

我需要通过将日期与今天的日期进行比较来检查日期,但最初给出的格式是12 Dec 2016,我不确定如果我甚至可以使用pythons时间模块来帮助我把它与今天的日期进行比较,因为它是一种不寻常的格式。Python中的短日期

+0

看起来像'%d%B%Y'给我。 – Efferalgan

+1

这是*不*一种不寻常的格式。 –

+0

@MartijnPieters它是法语的日期格式[在法国的日期和时间表示法](https://en.wikipedia.org/wiki/Date_and_time_notation_in_France) – ettanany

回答

5

您可以使用以下方法:

from datetime import datetime 

my_date = datetime.strptime('12 Dec 2016', '%d %b %Y') 

现在,你可以用比较my_datedatetime.today()

输出:

>>> from datetime import datetime 
>>> 
>>> my_date = datetime.strptime('12 Dec 2016', '%d %b %Y') 
>>> 
>>> my_date 
datetime.datetime(2016, 12, 12, 0, 0) 
>>> 
>>> my_date.date() 
datetime.date(2016, 12, 12) 
>>> 
>>> datetime.today() 
datetime.datetime(2016, 12, 16, 9, 44, 21, 562000) 
>>> 
>>> datetime.today().date() 
datetime.date(2016, 12, 16) 
0

如果你不知道前手的格式你可以用这个:

from dateutil import parser 
from datetime import datetime 

print parser.parse("12 Dec 2016").date() 
print datetime.now().date() 
print parser.parse("12 Dec 2016").date() == datetime.now().date() 

输出:

2016-12-12 
2016-12-16 
False