¿Cómo convertir la fecha y la hora con diferentes zonas horarias en Python?

En este artículo, discutiremos cómo convertir la fecha y la hora con diferentes zonas horarias en Python. Para ello utilizaremos uno de los módulos de python pytz . Este módulo trae la base de datos Olson tz a Python y esta biblioteca permite cálculos de zona horaria precisos y multiplataforma usando Python. El método pytz.timezone() genera la zona horaria actual de una región en particular.

Sintaxis:

pytz.timezone(“nombre de la zona horaria”)

Ej: pytz.timezone(“Asia/Calcuta”)

Ejemplo 1:

En el siguiente programa, la hora UTC actual se convierte según la zona horaria de Asia/Kolkata.

Python3

from datetime import datetime
import pytz
  
# get the standard UTC time
UTC = pytz.utc
  
# it will get the time zone
# of the specified location
IST = pytz.timezone('Asia/Kolkata')
  
# print the date and time in
# standard format
print("UTC in Default Format : ",
      datetime.now(UTC))
  
print("IST in Default Format : ",
      datetime.now(IST))
  
# print the date and time in
# specified format
datetime_utc = datetime.now(UTC)
print("Date & Time in UTC : ",
      datetime_utc.strftime('%Y:%m:%d %H:%M:%S %Z %z'))
  
datetime_ist = datetime.now(IST)
print("Date & Time in IST : ",
      datetime_ist.strftime('%Y:%m:%d %H:%M:%S %Z %z'))

Producción:

Ejemplo 2:

Aquí hay otro programa donde la zona horaria actual de Asia/Kolkata se convierte a la zona horaria de EE. UU./Este.

Python3

from datetime import datetime
import pytz
  
# get the standard UTC time
original = pytz.timezone('Asia/Kolkata')
  
# it will get the time zone
# of the specified location
converted = pytz.timezone('US/Eastern')
  
# print the date and time in
# specified format
dateTimeObj = datetime.now(original)
print("Original Date & Time: ",
      dateTimeObj.strftime('%Y:%m:%d %H:%M:%S %Z %z'))
  
# converted
dateTimeObj = datetime.now(converted )
print("Converted Date & Time: ",
      dateTimeObj.strftime('%Y:%m:%d %H:%M:%S %Z %z'))

Producción:

Uno puede obtener todos los valores de zona horaria presentes en el pytz ejecutando el siguiente código:

for timezone in pytz.all_timezones:
     print(timezone) 

A continuación se muestra un programa para convertir una zona horaria particular en varias zonas horarias de la región india:

Python3

from datetime import datetime
import pytz
  
# get the standard UTC time
original = pytz.utc
  
# create datetime object
dateTimeObj = datetime.now(original)
print("Original Date & Time: ",
      dateTimeObj.strftime('%Y:%m:%d %H:%M:%S %Z %z'))
  
# it will get the time zone
# of the specified location
for timeZone in pytz.all_timezones:
    if 'Indian/' in timeZone:
        dateTimeObj = datetime.now(pytz.timezone(timeZone))
        print(timeZone,":",dateTimeObj.strftime('%Y:%m:%d %H:%M:%S %Z %z'))

Producción:

Publicación traducida automáticamente

Artículo escrito por maheswaripiyush9 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 *