En este artículo, vamos a ver cómo convertir Python DateTime a una marca de tiempo entera.
La función timestamp() devuelve el tiempo expresado como el número de segundos que han pasado desde el 1 de enero de 1970. Ese momento cero se conoce como la época. Primero, obtendremos la hora actual o mencionaremos explícitamente la fecha y la hora requeridas de las que queremos la marca de tiempo. Hay varias formas de obtener la fecha y la hora. Los veremos a medida que avancemos a través de los ejemplos. Luego, convertiremos la fecha y hora en una marca de tiempo usando la función de marca de tiempo().
Por último, redondearemos la marca de tiempo en segundos y milisegundos y la encasillaremos explícitamente en un tipo de datos entero y ¡nuestro trabajo estará listo!
Ejemplo 1: marca de tiempo entera de la fecha y hora actual
Aquí importamos el módulo DateTime para usar la función DateTime desde él. Y luego use la función datetime.now() para obtener la fecha y hora actuales. Convierta el objeto DateTime en una marca de tiempo usando el método DateTime.timestamp(). Obtendremos la marca de tiempo en segundos. Y luego redondee la marca de tiempo y escriba explícitamente el número de coma flotante en un número entero para obtener la marca de tiempo entera en segundos.
Python3
from datetime import datetime curr_dt = datetime.now() print("Current datetime: ", curr_dt) timestamp = int(round(curr_dt.timestamp())) print("Integer timestamp of current datetime: ", timestamp)
Producción:
Current datetime: 2021-08-25 15:04:33.794484 Integer timestamp of current datetime: 1629884074
Ejemplo 2: marca de tiempo entera de fecha y hora especificadas
Proporcione la fecha y la hora como parámetros dentro de la función datetime(). Convierta el objeto de fecha y hora en una marca de tiempo usando el método datetime.timestamp(). Obtendremos la marca de tiempo en segundos. Redondee la marca de tiempo y escriba explícitamente el número de coma flotante en un entero para obtener la marca de tiempo entera en segundos. También podemos convertirlo en milisegundos multiplicándolo por 1000 para obtener la marca de tiempo entera en milisegundos.
Python3
from datetime import datetime dtime = datetime(2018, 1, 1, 20) print("Datetime: ", dtime) dtimestamp = dtime.timestamp() print("Integer timestamp in seconds: ", int(round(dtimestamp))) milliseconds = int(round(dtimestamp * 1000)) print("Integer timestamp in milliseconds: ", milliseconds)
Producción:
Datetime: 2018-01-01 20:00:00 Integer timestamp in seconds: 1514817000 Integer timestamp in milliseconds: 1514817000000
Ejemplo 3: marca de tiempo de entero UTC (tiempo universal coordinado) usando calendar.timegm
Primero, ingresamos la hora UTIC dentro del objeto datetime.datetime(). Luego pasamos el objeto a la función d.timtuple() que da una tupla que contiene los parámetros como año, mes, día, etc., y luego, usando la función de calendario, convertimos la fecha y hora en una marca de tiempo UTC entera.
Python3
import datetime import calendar d = datetime.datetime(1970, 1, 1, 2, 1, 0) ttuple = d.timetuple() itimestamp = calendar.timegm(ttuple) print("Timestamp in integer since epoch:", itimestamp)
Producción:
Timestamp in integer since epoch: 7260
Ejemplo 4: Marca de tiempo de entero de zona horaria particular
Primero, obtenemos la hora actual usando datetime.datetime.now(). Y luego importe la biblioteca pytz para crear una instancia del objeto de zona horaria para localizar la fecha y hora. Convierta el objeto de fecha y hora en una marca de tiempo usando el método datetime.timestamp(). Obtendremos la marca de tiempo en segundos. Redondee y convierta la marca de tiempo en un número entero para obtener la marca de tiempo entera.
Python3
import datetime import pytz dtime = datetime.datetime.now() timezone = pytz.timezone("Asia/Kolkata") dtzone = timezone.localize(dtime) print("Time Zone: ", dtzone.tzinfo) print("Datetime: ", dtzone) tstamp = dtzone.timestamp() print("Integer timestamp: ", int(round(tstamp)))
Producción:
Time Zone: Asia/Kolkata Datetime: 2021-08-25 15:09:05.194413+05:30 Integer timestamp: 1629884345
Publicación traducida automáticamente
Artículo escrito por rijushree100guha y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA