Saltar al contenido

Convierta la fecha y hora de python en marca de tiempo en milisegundos

Abraham, miembro de nuestro equipo, nos hizo el favor de redactar este escrito ya que domina a la perfección el tema.

Solución:

En Python 3 esto se puede hacer en 2 pasos:

  1. Convertir cadena de tiempo en datetime objeto
  2. Multiplique la marca de tiempo del datetime objeto por 1000 para convertirlo a milisegundos.

Por ejemplo como este:

from datetime import datetime

dt_obj = datetime.strptime('20.12.2016 09:38:42,76',
                           '%d.%m.%Y %H:%M:%S,%f')
millisec = dt_obj.timestamp() * 1000

print(millisec)

Producción:

1482223122760.0

strptime acepta su cadena de tiempo y un formato string como entrada La cadena de tiempo (primer argumento) especifica qué realmente quieres convertir a un datetime objeto. El formato string (segundo argumento) especifica el real formato de El string que has pasado.

Aquí está la explicación de los especificadores de formato de la documentación oficial:

  • %d – Día del mes como un número decimal con ceros.
  • %m – Mes como un número decimal con ceros.
  • %Y – Año con siglo como número decimal
  • %H – Hora (reloj de 24 horas) como un número decimal con ceros.
  • %M – Minuto como un número decimal con ceros.
  • %S – Segundo como un número decimal con ceros.
  • %f – Microsegundo como número decimal, con ceros a la izquierda.

Para Python2.7: modificar la respuesta de MYGz para no eliminar milisegundos:

from datetime import datetime

d = datetime.strptime("20.12.2016 09:38:42,76", "%d.%m.%Y %H:%M:%S,%f").strftime('%s.%f')
d_in_ms = int(float(d)*1000)
print(d_in_ms)

print(datetime.fromtimestamp(float(d)))

Producción:

1482248322760
2016-12-20 09:38:42.760000

Para aquellos que buscan una respuesta sin analizar y perder milisegundos, dado dt_obj es una fecha y hora:

python3 solamente, elegante

int(dt_obj.timestamp() * 1000)

compatibles con python2 y python3:

import time

int(time.mktime(dt_obj.utctimetuple()) * 1000 + dt_obj.microsecond / 1000)

Recuerda que tienes la capacidad de añadir un enjuiciamiento si te fue útil.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *