2010-06-28 25 views
5

Me gustaría convertir una marca de tiempo de Unix que tengo en una cadena (por ejemplo, 1277722499.82) en un formato más humanizado (hh: mm: ss o similar). ¿Hay alguna manera fácil de hacer esto en python para una aplicación django? Esto está fuera de una plantilla, en el modelo que me gustaría hacer esto. Gracias.Convertir la marca de tiempo Unix a formato humano en Django con Python

editar Estoy usando la función python time.time() para generar la marca de tiempo. De acuerdo con el documento:

time.time()

Volver el tiempo como un número de coma flotante expresado en segundos desde la época , en UTC. Tenga en cuenta que aunque el tiempo siempre sea devuelto como un número de punto flotante, no todos los sistemas proporcionan tiempo con una precisión de con una precisión superior a 1 segundo. Mientras que esta función normalmente devuelve valores no decrecientes, puede devolver un valor más bajo que una llamada anterior si el reloj del sistema se ha retrocedido entre las dos llamadas.

+0

Las cifras decimales en el ejemplo se ven un poco extraño - marca de tiempo Unix es por lo general un recuento de número entero de segundos desde el 1-Ene-1970 no es así? – eemz

+0

@joefis: la parte fraccionaria significa (o debería significar) la fracción del segundo. – wRAR

Respuesta

14
>>> import datetime 
>>> datestring = "1277722499.82" 

>>> dt = datetime.datetime.fromtimestamp(float(datestring)) 
>>> print dt 
2010-06-28 11:54:59.820000 
+0

O presumiblemente, si está trabajando con zonas horarias, '.utcfromtimestamp()'. –

Cuestiones relacionadas