La marca de tiempo de Unix es un único entero con signo que crece en uno cada segundo, lo que permite que las computadoras almacenen y manipulen sistemas de fechas convencionales. Luego, el software se traduce a un formato legible por humanos. La marca de tiempo de Unix es el número de segundos calculados desde el 1 de enero de 1970. En este artículo, veremos cómo convertir DateTime a la marca de tiempo de Unix.
DateTime a la marca de tiempo de Unix
Para convertir Python DateTime a la marca de tiempo de Unix, importamos un módulo llamado datetime and time en este ejemplo, y la variable date_time se declaró y asignó datetime. hora/fecha (2021, 7, 26, 21, 20). El año es 2021, el mes es 7, el día es 26, la hora es 21 y el minuto es 20.
Código:
Python3
# importing datetime module import datetime import time # assigned regular string date date_time = datetime.datetime(2021, 7, 26, 21, 20) # print regular python date&time print("date_time =>",date_time) # displaying unix timestamp after conversion print("unix_timestamp => ", (time.mktime(date_time.timetuple())))
Producción:
date_time => 2021-07-26 21:20:00 unix_timestamp => 1627314600.0
Explicación:
Las clases de manipulación de fecha y hora son proporcionadas por el módulo de fecha y hora. La función inversa de la hora local es mktime(). Acepta una estructura de tiempo o una tupla completa de 9 como argumento y devuelve un número de coma flotante para que sea compatible con el tiempo(). También se utiliza para convertir una fecha y hora en una marca de tiempo de Unix.
El método timetuple() de los objetos datetime.date devuelve una hora object.struct time. El objeto de tiempo de estructura es una tupla con nombre que se puede recuperar mediante un índice o por nombre. Los campos de año, mes y día de la tupla con nombre devuelta por la función timetuple() se establecerán de acuerdo con el objeto de fecha, mientras que los campos de hora, minutos y segundos se establecerán en cero.
Fecha y hora a la marca de tiempo de Unix con 13 dígitos
Para obtener la hora actual, use datetime.now(). La función timetuple() de la clase datetime devuelve las propiedades de datetime como una tupla con nombre. La marca de tiempo con 13 dígitos debe multiplicarse por 1000.
Código:
Python3
import time import datetime presentDate = datetime.datetime.now() unix_timestamp = datetime.datetime.timestamp(presentDate)*1000 print(unix_timestamp)
Producción:
1628497724509.293
DateTime a la marca de tiempo de Unix en la zona horaria UTC
El módulo de calendario proporciona útiles funciones relacionadas con el calendario. La función utc.now devuelve la hora actual en la zona horaria UTC. En el módulo de tiempo, la función timegm devuelve una marca de tiempo de Unix. La función timetuple() de la clase datetime devuelve las propiedades de datetime como una tupla con nombre. Para obtener la marca de tiempo de Unix, use print (UTC).
Código:
Python3
import calendar import datetime date = datetime.datetime.utcnow() utc_time = calendar.timegm(date.utctimetuple()) print(utc_time)
Producción:
1628497783
DateTime a la marca de tiempo de Unix en milisegundos
La función datetime.now() se utiliza para obtener la hora actual. El método mktime es un método de tiempo que es la función inversa de la hora local; se utiliza para convertir fecha y hora en milisegundos de marca de tiempo de Unix. La función timetuple() de la clase datetime devuelve las propiedades de datetime como una tupla con nombre. Para obtener el tiempo en milisegundos, multiplícalo por 1000.
Código:
Python3
import datetime import time ms = datetime.datetime.now() print(time.mktime(ms.timetuple()) * 1000)
Producción:
1628497823000.0
Datetime.date a la marca de tiempo de Unix
time.date() es una función que solo acepta fechas. En este caso, 2021 es el año, 8 es el mes y 6 es el día. mktime() es un método de tiempo que es la función inversa de la hora local; se utiliza para convertir fechas a marcas de tiempo de Unix.
Código:
Python3
import datetime import time my_datetime = datetime.date(2021, 8, 6) print("Unix_Time: ", (time.mktime(my_datetime.timetuple())))
Producción:
Unix_Time: 1628188200.0
String de fecha y hora a la marca de tiempo de Unix
En este caso, la fecha y la hora se proporcionan en formato de string. Aquí, 8 denota el mes, 6 denota el día, 2021 denota el año, 05 denota la hora, 54 denota el minuto y 8 denota el segundo. strptime() es un método de módulo de fecha y hora que se utiliza para convertir strings en objetos de fecha y hora. La función timestamp() devuelve la hora actual en la ubicación actual.
Código:
Python3
import datetime date_example = "8/6/2021, 05:54:8" date_format = datetime.datetime.strptime(date_example, "%m/%d/%Y, %H:%M:%S") unix_time = datetime.datetime.timestamp(date_format) print(unix_time)
Producción:
1628209448.0
Marca de tiempo de Unix para Python DateTime
El módulo DateTime en Python se usa para tratar problemas relacionados con la fecha y la hora en Python. El método fromtimestamp() es una de las funciones incluidas en este módulo. La función fromtimestamp() de la clase de fecha calcula y devuelve la fecha correspondiente a una marca de tiempo específica. El rango de marca de tiempo permitido se extiende desde 1970 hasta 2038. Si hay segundos bisiestos en la marca de tiempo, la función fromtimestamp() los ignora.
Para empezar, importamos la clase de fecha y hora del módulo de fecha y hora. A continuación, el objeto de valor de UNIX se almacena en una variable. Luego usamos el método datetime.fromtimestamp() para recuperar la hora y la fecha.
La función strftime() es otra función en el módulo de fecha y hora. Esta función ayuda en la devolución de un DateTime en un formato particular. Esta función se utiliza para convertir objetos de fecha y hora en representaciones de strings. Los códigos de formato en el código anterior son %d, %m, %Y, %H, %M y %S, que indican días, meses, años, horas, minutos y segundos, respectivamente.
Código:
Python3
# importing datetime module import datetime # assigned unix time unix_time = 1627334400 date_time = datetime.datetime.fromtimestamp(unix_time) # print unix time stamp print("Unix_Time =>",unix_time) # displaying date and time in a regular # string format print("Date & Time =>" , date_time.strftime('%Y-%m-%d %H:%M:%S'))
Producción:
Unix_Time => 1627334400 Date & Time => 2021-07-27 02:50:00
Publicación traducida automáticamente
Artículo escrito por priyavermaa1198 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA