En este ejemplo, vamos a ver cómo crear un objeto DateTime con reconocimiento de zona horaria en Python.
Los objetos que reconocen la zona horaria son Python DateTime u objetos de tiempo que incluyen información de la zona horaria. Un objeto consciente representa un momento específico en el tiempo que no está abierto a interpretación.
Comprobando si un objeto es consciente de la zona horaria o no:
Podemos verificar fácilmente si un objeto de fecha y hora es consciente de la zona horaria o no. Para esto, almacenaremos la fecha y hora actual en una nueva variable usando la función datetime.now() del módulo datetime.
Sintaxis: datetime.now(tz)
Parámetros: tz : Zona horaria especificada de la que se requiere la hora y fecha actuales. (Utiliza la hora del meridiano de Greenwich de forma predeterminada).
Luego verificaremos la información de la zona horaria del objeto almacenado en la clase base tzinfo. tzinfo es una clase base abstracta para objetos de información de zona horaria.
Python3
# Importing the datetime module import datetime # Storing the current date and time in # a new variable using the datetime.now() # function of datetime module current_date = datetime.datetime.now() # Checking the timezone information of the # object stored in tzinfo base class if current_date.tzinfo == None or current_date.tzinfo.\ utcoffset(current_date) == None: # If passes the above condition then # the object is unaware print("Unaware") else: # Else printing "Aware" print("Aware")
Producción:
Unaware
Objeto consciente de la zona horaria usando fecha y hora
Para esto, almacenaremos la hora actual en una nueva variable usando la función datetime.now().time() del módulo datetime. Luego reemplazaremos el valor de la zona horaria en la clase tzinfo del objeto usando la función replace(). Después de eso, convierta el valor de la fecha al formato ISO 8601 usando el método isoformat().
Sintaxis: isoformat(sep=’T’, timespec=’auto’)
Parámetros:
- sep: Es un separador de un carácter colocado entre la fecha y la hora.
- timespec: Número de componente adicional de tiempo a incluir
Código:
Python3
# Importing the datetime module import datetime # Storing the current date and time in # a new variable using the datetime.now() # function of datetime module current_date = datetime.datetime.now() # Replacing the value of the timezone in tzinfo class of # the object using the replace() function current_date = current_date.\ replace(tzinfo=datetime.timezone.utc) # Converting the date value into ISO 8601 # format using isoformat() method current_date = current_date.isoformat() # Printing the value of current_date print(current_date)
Producción:
2021-08-30T09:45:43.291212+00:00
Ahora vamos a comprobar si el objeto es consciente de la zona horaria o no usando el método que usamos en la primera sección del artículo.
Python3
# Importing the datetime module import datetime # Storing the current date and time in # a new variable using the datetime.now() # function of datetime module current_date = datetime.datetime.now() # Replacing the value of the timezone in tzinfo class of # the object using the replace() function current_date = current_date.replace(tzinfo=datetime.timezone.utc) # Checking the timezone information of the # object stored in tzinfo base class if current_date.tzinfo == None or \ current_date.tzinfo.utcoffset(current_date) == None: # If passes the above condition then # the object is unaware print("Unaware") else: # Else printing "Aware" print("Aware") # Converting the date value into ISO 8601 # format using isoformat() method current_date = current_date.isoformat() # Printing the value of current_date print(current_date)
Producción:
Aware 2021-08-30T09:55:15.111556+00:00
Objeto consciente de la zona horaria usando pytz
También puede usar el módulo pytz para crear objetos que reconozcan la zona horaria.
Para esto, almacenaremos la fecha y hora actual en una nueva variable usando la función datetime.now() del módulo datetime y luego agregaremos la zona horaria usando la función de zona horaria del módulo pytz.
Python3
# Importing the datetime module import datetime import pytz # Storing the current date and time in # a new variable using the datetime.now() # function of datetime module and adding the timezone # using timezone function of pytz module. current_date = datetime.datetime.now(pytz.timezone('Africa/Abidjan')) # Printing the value of current_date print(current_date)
Producción:
2021-08-30 04:35:37.036990+00:00
Ahora vamos a comprobar si el objeto es consciente de la zona horaria o no usando el método que usamos en la primera sección del artículo.
Python3
# Importing the datetime module import datetime import pytz # Storing the current date and time in # a new variable using the datetime.now() # function of datetime module and adding the timezone # using timezone function of pytz module. current_date = datetime.datetime.now(pytz.timezone('Africa/Abidjan')) # Checking the timezone information of the # object stored in tzinfo base class if current_date.tzinfo == None or current_date.\ tzinfo.utcoffset(current_date)== None: # If passes the above condition then # the object is unaware print("Unaware") else: # Else printing "Aware" print("Aware") # Printing the value of current_date print(current_date)
Producción:
Aware 2021-08-30 04:46:40.670455+00:00
Publicación traducida automáticamente
Artículo escrito por imranalam21510 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA