web-dev-qa-db-fra.com

Comparaison de deux chaînes de date dans Python

Disons que j'ai une chaîne: "10/12/13" et "10/15/13", comment puis-je les convertir en objets de date pour pouvoir comparer les dates? Par exemple pour voir quelle date est avant ou après.

32
Sid K.

Utilisation 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
>>>
35
iCodez

Si vous aimez utiliser le dateutil et son analyseur:

from dateutil.parser import parse

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

print date1 - date2
print date2 > date2
9
gongzhitaao

Voici une solution utilisant 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
9
aIKid

Utilisation datetime.datetime.strptime .

from datetime import datetime

a = datetime.strptime('10/12/13', '%m/%d/%y')
b = datetime.strptime('10/15/13', '%m/%d/%y')

print 'a' if a > b else 'b' if b > a else 'tie'
2
Paul Draper