比较Python中的两个日期字符串

Sid*_* K. 35 python datetime date

假设我有一个字符串:"10/12/13"和"10/15/13",如何将它们转换为日期对象以便我可以比较日期?例如,查看之前或之后的日期.

iCo*_*dez 37

用途datetime.datetime.strptime:

>>> from datetime import datetime as dt
>>> a = dt.strptime("10/12/13", "%m/%d/%y")
>>> b = dt.strptime("10/15/13", "%m/%d/%y")
>>> a > b
False
>>> a < b
True
>>>
Run Code Online (Sandbox Code Playgroud)

  • @Gnuey - 日期时间格式字符串区分大小写.`%Y`与`%y'不同.`%Y`告诉Python匹配一个4位数的年份,如'2014`.然而,%y`匹配一个2位数的年份,例如"2014年"的"14".您必须尝试将4位数年份与2位数'%y`说明符匹配.以下是可用格式说明符的参考:https://docs.python.org/2/library/datetime.html#strftime-and-strptime-behavior (4认同)

gon*_*aao 10

如果你想使用它dateutil和它的解析器:

from dateutil.parser import parse

date1 = parse('10/12/13')
date2 = parse('10/15/13')

print date1 - date2
print date2 > date2
Run Code Online (Sandbox Code Playgroud)

  • pip install python-dateutil (4认同)

aIK*_*Kid 9

这是一个解决方案datetime.datetime.strptime:

>>> date1 = datetime.datetime.strptime('10/12/13', '%m/%d/%y')
>>> date2 = datetime.datetime.strptime('10/15/13', '%m/%d/%y')
>>> date1 < date2
True
>>> date1 > date2
False
Run Code Online (Sandbox Code Playgroud)