¿Cómo puedo convertir un objeto de fecha y hora a milisegundos desde la época (hora Unix) en Python?

Resuelto SuperString asked hace 13 años • 13 respuestas

Tengo un datetimeobjeto Python que quiero convertir a tiempo Unix, o segundos/milisegundos desde la época de 1970.

¿Cómo hago esto?

SuperString avatar Aug 09 '11 23:08 SuperString
Aceptado

Me parece que la forma más sencilla de hacer esto es

import datetime

epoch = datetime.datetime.utcfromtimestamp(0)

def unix_time_millis(dt):
    return (dt - epoch).total_seconds() * 1000.0
Sophie Alpert avatar Jun 20 '2012 00:06 Sophie Alpert

En Python 3.3, se agregó un nuevo método timestamp:

import datetime
seconds_since_epoch = datetime.datetime.now().timestamp()

Tu pregunta decía que necesitabas milisegundos, que puedes obtener así:

milliseconds_since_epoch = datetime.datetime.now().timestamp() * 1000

Si usa timestampun objeto de fecha y hora ingenuo, se supone que está en la zona horaria local. Utilice objetos de fecha y hora que tengan en cuenta la zona horaria si esto no es lo que pretende que suceda.

eshizhan avatar Apr 11 '2014 05:04 eshizhan