Fecha y hora de Python a marca de tiempo entera

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

Deja una respuesta

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