¿Cómo puedo convertir un objeto de fecha y hora a milisegundos desde la época (hora Unix) en Python?
Tengo un datetime
objeto Python que quiero convertir a tiempo Unix, o segundos/milisegundos desde la época de 1970.
¿Cómo hago esto?
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
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 timestamp
un 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.