Obtenga la hora actual en diferentes zonas horarias usando Python

La zona horaria se define como un área o región geográfica en la que se observa la hora estándar. Básicamente se refiere a la hora local de una región o país. La mayoría de las zonas horarias se compensan con la hora universal coordinada (UTC), el estándar mundial para la zona horaria.
Para obtener la hora actual de diferentes zonas horarias, usaremos la pytzbiblioteca de python.

¿Cómo obtener la hora actual?

Para obtener la hora local, podemos usar el módulo de tiempo. Algunas funciones importantes del módulo de tiempo

  • localtime() – ayuda a obtener la hora local actual
  • strftime(“%H:%M:%S”, t) – ayuda a decidir el formato de la hora que se usará para mostrar la hora

¿Cómo obtener la hora actual en diferentes zonas?

Para obtener la hora actual de una zona horaria en particular, es necesario usar la pytzbiblioteca de Python. Algunos de los comandos importantes de la biblioteca pytz son

  • utc : ayuda a obtener la zona horaria UTC estándar
  • timezone() : ayuda a obtener la zona horaria de una ubicación en particular
  • now() : ayuda a obtener la fecha, la hora y el estándar utc en el formato predeterminado
  • astimezone() : ayuda a convertir la hora de una zona horaria en particular en otra zona horaria

Ejemplos:

import time
  
  
curr_time = time.localtime()
curr_clock = time.strftime("%H:%M:%S", curr_time)
  
print(curr_clock)

Producción:

11:58:19

Obtendremos la hora actual local de la región y la hora UTC estándar.
Ejemplos:

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'))
Output:
UTC in Default Format :  2020-03-31 07:15:59.640418+00:00
IST in Default Format :  2020-03-31 12:45:59.692642+05:30
Date & Time in UTC :  2020:03:31 07:15:59 UTC+0000
Date & Time in IST :  2020:03:31 12:45:59 IST+0530

Comparación del formato UTC e IST de las zonas horarias de diferentes regiones
Ejemplos:

from datetime import datetime
import pytz
  
UTC = pytz.utc
  
timeZ_Kl = pytz.timezone('Asia/Kolkata') 
timeZ_Ny = pytz.timezone('America/New_York')
timeZ_Ma = pytz.timezone('Africa/Maseru')
timeZ_Ce = pytz.timezone('US/Central')
timeZ_At = pytz.timezone('Europe/Athens')
  
dt_Kl = datetime.now(timeZ_Kl)
dt_Ny = datetime.now(timeZ_Ny)
dt_Ma = datetime.now(timeZ_Ma)
dt_Ce = datetime.now(timeZ_Ce)
dt_At = datetime.now(timeZ_At)
  
utc_Kl = dt_Kl.astimezone(UTC)
utc_Ny = dt_Ny.astimezone(UTC)
utc_Ma = dt_Ma.astimezone(UTC)
utc_Ce = dt_Ce.astimezone(UTC)
utc_At = dt_At.astimezone(UTC)
  
print("UTC Format \t\t\t  IST Format")
  
print(utc_Kl.strftime('%Y-%m-%d %H:%M:%S %Z %z'),
      "\t ",
      dt_Kl.strftime('%Y-%m-%d %H:%M:%S %Z %z'))
  
print(utc_Ny.strftime('%Y-%m-%d %H:%M:%S %Z %z'),
      "\t ",
      dt_Kl.strftime('%Y-%m-%d %H:%M:%S %Z %z'))
  
print(utc_Ma.strftime('%Y-%m-%d %H:%M:%S %Z %z'),
      "\t ",
      dt_Kl.strftime('%Y-%m-%d %H:%M:%S %Z %z'))
  
print(utc_Ce.strftime('%Y-%m-%d %H:%M:%S %Z %z'),
      "\t ",
      dt_Kl.strftime('%Y-%m-%d %H:%M:%S %Z %z'))
  
print(utc_At.strftime('%Y-%m-%d %H:%M:%S %Z %z'),
      "\t ",
      dt_Kl.strftime('%Y-%m-%d %H:%M:%S %Z %z'))
Output:
UTC Format               IST Format
2020-03-31 11:21:13 UTC +0000       2020-03-31 16:51:13 IST +0530
2020-03-31 11:21:13 UTC +0000       2020-03-31 16:51:13 IST +0530
2020-03-31 11:21:13 UTC +0000       2020-03-31 16:51:13 IST +0530
2020-03-31 11:21:13 UTC +0000       2020-03-31 16:51:13 IST +0530
2020-03-31 11:21:13 UTC +0000       2020-03-31 16:51:13 IST +0530

Por lo tanto, podemos concluir que, aunque las diferentes regiones tienen diferentes zonas horarias regionales, cuando se convirtieron a la zona horaria UTC, todas dieron el mismo valor. Así podemos decir que

  • IST es +0530 horas por delante de UTC
  • EDT es -0400 horas antes de UTC
  • SAST está +0200 horas por delante de UTC
  • CDT es -0500 horas antes de UTC
  • EEST es +0300 horas por delante de UTC

Publicación traducida automáticamente

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