2010-11-15 14 views
15
time1 = "2010-04-20 10:07:30" 
time2 = "2010-04-21 10:07:30" 

Comment convertir les éléments ci-dessus de la chaîne à l'horodatage?str en temps en python

Je dois soustraire les horodatages ci-dessus time2-time1.

+0

dupe! tellement de fois. – SilentGhost

Répondre

18

Pour Python 2.5+

from datetime import datetime 
format = '%Y-%m-%d %H:%M:%S' 
print datetime.strptime(time2, format) - 
     datetime.strptime(time1, format) 
# 1 day, 0:00:00 

Edit: pour Python 2,4

import time 
format = '%Y-%m-%d %H:%M:%S' 
print time.mktime(time.strptime(time2, format)) - 
     time.mktime(time.strptime(time1, format)) 
# 86400.0 
+0

Je reçois une erreur disant AttributeError: tapez l'objet 'datetime.datetime' n'a pas d'attribut 'strptime' J'utilise python 2.4 – Rajeev

+0

@Rajeev, pouvez-vous mettre à jour? 2.4 est très vieux –

-1
import time 

time1 = "2010-04-20 10:07:30" 

time_tuple = time.strptime(time1, "%Y-%m-%d %H:%M:%S") 

timestamp = time.mktime(time_tuple) 
2
>>> t1 = datetime.strptime(time1, "%Y-%m-%d %H:%M:%S") 
>>> t2 = datetime.strptime(time2, "%Y-%m-%d %H:%M:%S") 
>>> t2-t1 
datetime.timedelta(1) 

>>> (t2-t1).days 
1 
>>> (t2-t1).seconds 
0 
3

Si vous êtes coincé sur le système Python 2.4 comme moi:

from time import strptime 
from datetime import datetime 

str_to_datetime = lambda st: datetime(*strptime(st, '%Y-%m-%d %H:%M:%S')[:6]) 

str_to_datetime('2010-04-20 10:07:30') 

Sinon datetime.strptime() fonctionnera très bien.