time1 = "2010-04-20 10:07:30"
time2 = "2010-04-21 10:07:30"
¿Cómo convertir lo anterior de la cadena a la marca de tiempo?str to time en python
Necesito restar las marcas de tiempo anteriores time2-time1
.
time1 = "2010-04-20 10:07:30"
time2 = "2010-04-21 10:07:30"
¿Cómo convertir lo anterior de la cadena a la marca de tiempo?str to time en python
Necesito restar las marcas de tiempo anteriores time2-time1
.
Para 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
Editar: para 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
Me sale un error al decir AttributeError: tipo objeto 'datetime.datetime' no tiene atributo 'strptime' estoy usando python 2.4 – Rajeev
@Rajeev, ¿puedes actualizar? 2.4 es muy viejo –
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)
>>> 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
Si está atrapado en el sistema de Python 2.4 como yo:
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')
De lo contrario, datetime.strptime() funcionará correctamente.
dupe! tan muchas veces. – SilentGhost