2011-09-28 44 views
22

Quiero obtener el objeto de fecha y hora de la última hora. permite decir el tiempo sys es "28/09/2011 06:11:30" quiero obtener el resultado como "28.09.2011 05" # 06 {- 1 sesión}Python: obtener la fecha y hora de la última hora

utilicé:

lastHourDateTime = date.today() - timedelta(hours = 1) 
    print lastHourDateTime.strftime('%Y-%m-%d %H:%M:%S') 

Sin embargo, mi salida no muestra la parte de tiempo en absoluto. donde estoy equivocado?

Respuesta

52

Fecha no tiene la hora - el uso de fecha y hora:

from datetime import datetime, timedelta 
last_hour_date_time = datetime.now() - timedelta(hours = 1) 
print last_hour_date_time.strftime('%Y-%m-%d %H:%M:%S') 
+0

Gracias. Esta es la respuesta correcta. –

+0

Esta es la forma en que siempre lo hago, pero me gustaría tener una forma de 1 función para escribir esto en lugar de llamar a 2 funciones y restar. Podría hacer una biblioteca simple para eso. – Gattster

+1

Cuidado: Esto parece devolver resultados inesperados. 'datetime.now()' es [definitivamente preferido] (http://stackoverflow.com/questions/32298332/python3-4-datetime-today-and-datetime-now). –

15

Esto funciona para mí:

import datetime 

lastHourDateTime = datetime.datetime.now() - datetime.timedelta(hours = 1) 
print lastHourDateTime.strftime('%Y-%m-%d %H') 

# prints "2011-09-28 12" which is the time one hour ago in Central Europe 
Cuestiones relacionadas