Cómo usar el módulo Pytz de Python

Cómo usar el módulo Pytz de Python
Los valores de fecha y hora varían según la zona. Estos valores son necesarios para cambiar para aquellas aplicaciones de Python que requieren tratar con usuarios internacionales. Según la zona, el módulo de fecha y hora de Python no puede convertir los valores de fecha y hora. Este problema se puede resolver usando el pytz Módulo de Python. Este módulo no está instalado en Python. Entonces, debe instalar este módulo antes de usarlo en el script. Cómo el pyzt El módulo se puede instalar y usar en Python, se ha mostrado en este tutorial.

Instale el módulo Pyzt:

Ejecute el siguiente comando para instalar el módulo Pyzt antes de practicar los ejemplos de este tutorial.

$ Pip Install Pytz

Ejemplo-1: Imprima todas las zonas horarias compatibles y de uso común

El siguiente script imprimirá todas las zonas horarias compatibles y las zonas horarias ampliamente utilizadas utilizando el pyzy módulo. El pyzt El módulo se importa al comienzo del script. pytz.all_Timezones El atributo Devuelve la lista de todas las zonas horarias compatibles como un objeto de lista. pytz.Common_Timezones El atributo Devuelve la lista de todas las zonas horarias de uso común como un objeto de lista. Se imprimirán dos listas después de ejecutar este script.

# Módulo PYTZ de importación
importar pytz
# Imprimir todas las zonas horarias compatibles
Imprimir ('Las zonas horarias compatibles con el módulo pytz: \ n', pytz.all_timezones, '\ n')
# Imprimir zonas horarias de uso común
Imprimir ('Zonas de tiempo de uso común: \ n', Pytz.Common_Timezones, '\ n')

Producción:

La siguiente salida aparecerá después de ejecutar el script anterior.

Ejemplo-2: Imprimir nombres de países

El siguiente guión imprimirá la lista de nombres de países con códigos de países y el nombre del país de un código de país en particular. pytz.países de país.elementos() El método devuelve un objeto de diccionario de nombres de país con el código de país. Los códigos de país se asignan en las claves del objeto del diccionario, y los nombres de los países se asignan en los valores del objeto del diccionario. El bucle para el bucle se ha utilizado en el script para imprimir los nombres de los países con el código de país en cada línea iterando el objeto del diccionario devuelto por pytz.países de país.elementos(). A continuación, el nombre del país del 'JPSe imprimirá el código de país.

# Módulo PYTZ de importación
importar pytz
"
Imprima el nombre del país con código de país en cada línea
Usando para bucle
"
imprimir ('country_names:')
Para la llave, val en pytz.países de país.elementos():
imprimir (val, '(', Key, ')')
# Imprimir el nombre del país del código de país en particular
print ('\ ncountry Nombre basado en el código de país (JP):', Pytz.país_names ['jp'])

Producción:

La siguiente salida aparecerá después de ejecutar el script anterior. La producción muestra los nombres de los países y los códigos de los países en los corchetes. El nombre del país de 'JP' es Japón que se imprime más tarde.

Ejemplo-3: Fecha de impresión y hora en función de la zona horaria

Los valores de fecha y hora varían según la zona horaria. El siguiente script imprimirá la fecha y hora de la zona horaria actual al principio. A continuación, la zona horaria se cambiará a EE. UU./Este usando pytz.El método TimeZone () y la fecha y la hora se imprimirán en función de EE. UU./Este zona horaria. A continuación, la zona horaria se cambiará a Asia/Hong_kong zona horaria, y la fecha y la hora se imprimirán en función de Asia/Hong_kong zona horaria. La fecha y hora de las zonas horarias de UTC e IST se imprimirán más tarde.

# Importar el módulo de fecha y hora
Importar DateTime como DT
# Importar módulo Pyzt
importar pytz
# Recuperar la fecha actual
fuente_date = dt.fecha y hora.ahora()
# Imprima los datos y la hora actuales
Imprimir ('La fecha y hora actuales: \ n', fuente_date)
# Establezca la zona horaria a nosotros/este
CurrentTimezone = Pytz.TimeZone ('Us/Eastern')
# Imprima la zona de tiempo actual Asia/Hong_kong
Imprimir ('\ nthe Time-Zone está configurado en: \ n', CurrentTimezone)
# Lea e imprima la fecha y hora actuales de la zona de tiempo
CurrentDateWithTimezone = CurrentTimazone.localizar (fuente_date)
Imprimir ('La fecha y hora de esta zona de tiempo: \ n', CurrentDateWithTimezone)
# Establezca la zona de tiempo objetivo
NewTimezone = Pytz.TimeZone ('Asia/Hong_kong')
Imprimir ('\ nthe Time-Zone está configurado en: \ n', NewTimezone)
# Lea e imprima la fecha y hora actuales de la zona de tiempo recién definida
NewDateWithTimezone = CurrentDateWithTimezone.AsTimezone (NewTimezone)
Imprima ('La fecha y hora de esta zona de tiempo: \ n', newdatewithtimezone)
# Lea la fecha y hora de la zona horaria especificada
imprimir ('\ ndatetime of UTC Time-Zone:', DT.fecha y hora.ahora (tz = currentTimeZone))
Imprimir ('DateTime of IST Time-Zone:', DT.fecha y hora.ahora (tz = newtimezone))

Producción:

La siguiente salida aparecerá después de ejecutar el script anterior. La salida muestra que los valores de fecha y hora varían según la zona horaria.

Ejemplo-4: imprima la fecha y hora formateadas

En los ejemplos anteriores, los valores de fecha y hora se imprimen en el formato predeterminado. El siguiente script imprimirá los datos y el tiempo formateados en función de la zona horaria seleccionada. El formato de la fecha y la hora se ha definido al comienzo del script. Según el formato, la fecha se imprimirá en dd-mm-yyyy formato, y el tiempo se imprimirá en HH: MM: SS formato. A continuación, la zona horaria se asignará a América/Toronto, y la fecha y la hora se imprimirán usando el strftime () función con el formato mencionado anteriormente. A continuación, la zona horaria se asignará a Asia/Dhaka e impreso como antes.

# Importar el módulo de fecha y hora
desde la importación de fecha y hora de fecha y hora
# Importar módulo de zona horaria
de la zona horaria de importación de Pytz
# Establecer el formato de fecha y hora
dt_format = "%d-%m-%y%h:%m:%s"
# Establezca el tiempo actual en America/Toronto Zone
Torontozone = DateTime.Ahora (TimeZone ('America/Toronto'))
Imprimir ('Fecha y hora de la zona de Toronto: \ n', Torontozone.strftime (dt_format))
# Cambiar la zona horaria a Asia/Dhaka
Dhakazone = Torontozone.Astimezone (zona horaria ('Asia/dhaka'))
Imprimir ('Fecha y hora de la zona dhaka: \ n', dhakazone.strftime (dt_format))

Producción:

La siguiente salida aparecerá después de ejecutar el script anterior. La salida muestra que la diferencia de tiempo entre Toronto y Dhaka es de 10 horas.

Conclusión:

El pyzt El módulo tiene muchas funciones incorporadas para trabajar con los valores de fecha y hora de las diferentes zonas horarias. Los valores de fecha y hora del sitio web se pueden cambiar de acuerdo con la zona horaria del visitante utilizando este módulo. Los usos principales de este módulo se han explicado en este tutorial mediante el uso de diferentes ejemplos para ayudar a los lectores a comprender el propósito de este módulo.