Como usar o módulo Pytz de Python

Como usar o módulo Pytz de Python
Os valores de data e hora variam com base na zona. Esses valores são necessários para mudar para os aplicativos Python que exigem lidar com usuários internacionais. De acordo com a zona, o módulo DateTime of Python não pode converter os valores de data e hora. Este problema pode ser resolvido usando o pytz Módulo de Python. Este módulo não está instalado no Python. Então, você precisa instalar este módulo antes de usá -lo no script. Como o pyzt O módulo pode ser instalado e usado em python, mostrou neste tutorial.

Instale o módulo PYZT:

Execute o seguinte comando para instalar o módulo PYZT antes de praticar os exemplos deste tutorial.

$ pip install pytz

Exemplo 1: Imprima todos os fusos horários suportados e comumente usados

O script a seguir imprimirá todos os fusos horários suportados e os fusos horários amplamente utilizados usando o pyzy módulo. O Pyzt O módulo é importado no início do script. pytz.ALL_TIMEZONES Atributo retorna a lista de todos os fusos horários suportados como um objeto de lista. pytz.Common_timeZones atributo retorna a lista de todos os fusos horários comumente usados ​​como um objeto de lista. Duas listas serão impressas após a execução deste script.

# Importar módulo pytz
importar pytz
# Imprima todos os fcos horários suportados
Print ('The TimeLones suportado pelo módulo Pytz: \ n', pytz.All_timeZones, '\ n')
# Imprimir-usados ​​com tempo de tempo comumente usado
Print ('comumente usada-zonas: \ n', pytz.Common_timeZones, '\ n')

Saída:

A saída a seguir aparecerá após a execução do script acima.

Exemplo-2: nomes de países impressos

O script a seguir imprimirá a lista de nomes de países com códigos de país e o nome do país de um determinado código do país. pytz.country_names.Unid() Método retorna um objeto de dicionário de nomes de países com o código do país. Os códigos do país são atribuídos nas chaves do objeto de dicionário e os nomes do país são atribuídos nos valores do objeto de dicionário. O loop for usado no script para imprimir os nomes do país com o código do país em cada linha, iterando o objeto de dicionário retornado por pytz.country_names.Unid(). Em seguida, o nome do país do 'JP'O código do país será impresso.

# Importar módulo pytz
importar pytz
"
Imprima o nome do país com código de país em cada linha
usando o loop
"
print ('country_names:')
Para Key, Val em Pytz.country_names.Unid():
print (val, '(', key, ')')
# Imprima o nome do país do código do país em particular
Print ('Nome \ \ ncountry com base no código do país (JP):', pytz.country_names ['jp'])

Saída:

A saída a seguir aparecerá após a execução do script acima. A saída mostra os nomes do país e os códigos do país entre colchetes. O nome do país de 'JP' O Japão é impresso posteriormente.

Exemplo 3: Data e hora de impressão com base no fuso horário

Os valores de data e hora variam com base no fuso horário. O script a seguir imprimirá a data e a hora do fuso horário atual no primeiro. Em seguida, o fuso horário será alterado para Nós/leste usando pytz.Método timegone () e a data e hora serão impressos com base no Nós/leste fuso horário. Em seguida, o fuso horário será alterado para Ásia/Hong_kong fuso horário e a data e hora serão impressas com base em Ásia/Hong_kong fuso horário. A data e a hora dos fusos horários da UTC e IST serão impressos posteriormente.

# Importar módulo DATETIME
importar datetime como dt
# Importar módulo pyzt
importar pytz
# Recupere a data atual
fonte_date = dt.data hora.agora()
# Imprima os dados e o tempo atuais
print ('A data e hora atuais: \ n', fonte_date)
# Defina o fuso horário para nós/leste
CurrentTimeZone = pytz.fuso horário ('EUA/oriental')
# Imprima a atual Ásia/Hong_kong
Print ('\ nA zona de tempo está definido como: \ n', CurrentTimeZone)
# Leia e imprima a data e a hora atuais da zona de tempo
currentDateWithTimeZone = CurrentTimeZone.localize (fonte_date)
Print ('a data e a hora desta zona de tempo: \ n', currentDateWithTimeZone)
# Defina a zona de tempo alvo
newTimeZone = pytz.fuso horário ('Ásia/hong_kong')
Print ('\ nA zona de tempo está definido como: \ n', newTimeZone)
# Leia e imprima a data e a hora atuais da zona de tempo recém-definida
newDateWithTimeZone = CurrentDateWithTimeZone.ASTIMEZONE (newTimeZone)
Print ('a data e a hora desta zona de tempo: \ n', newDateWithTimeZone)
# Leia o tempo do tempo do fuso horário especificado
Print ('\ ndatETime of UTC Time-Zone:', DT.data hora.agora (TZ = CurrentTimeZone))
Print ('DateTime of ISt Time-Zone:', DT.data hora.agora (tz = newTimeZone))

Saída:

A saída a seguir aparecerá após a execução do script acima. A saída mostra que os valores de data e hora variam com base no fuso horário.

Exemplo-4: Imprima a data e a hora formatadas

Nos exemplos anteriores, os valores de data e hora são impressos no formato padrão. O script a seguir imprimirá os dados e o tempo formatados com base no fuso horário selecionado. O formato da data e hora definiu no início do script. De acordo com o formato, a data será impressa dd-mm-yyyy formato, e o tempo imprimirá HH: MM: SS formatar. Em seguida, o fuso horário será atribuído a América/Toronto, e a data e hora serão impressas usando o strftime () função com o formato mencionado acima. Em seguida, o fuso horário será atribuído a Ásia/Dhaka e impresso como antes.

# Importar módulo DATETIME
Do DateTime Import DateTime
# Importar módulo de fuso horário
De pytz importar furo horário
# Defina o formato de data e hora
dt_format = "%d-%m-%y%h:%m:%s"
# Defina o horário atual para a America/Toronto Zone
Torontozona = DateTime.agora (fuso horário ('America/Toronto')))
Imprimir ('Data e hora da zona de Toronto: \ n', Torontozona.strftime (dt_format))
# Mude o fuso horário para a Ásia/Dhaka
dhakazona = torontozona.ASTIMEZONE (FONE TIME ('Ásia/Dhaka'))
Impressão ('Data e hora da zona dhaka: \ n', dhakazone.strftime (dt_format))

Saída:

A saída a seguir aparecerá após a execução do script acima. A saída mostra que a diferença horária entre Toronto e Dhaka é de 10 horas.

Conclusão:

O Pyzt O módulo tem muitas funções internas para trabalhar com os valores de data e hora dos diferentes fusos horários. Os valores de data e hora do site podem ser alterados de acordo com o fuso horário do visitante usando este módulo. Os usos primários deste módulo foram explicados neste tutorial usando exemplos diferentes para ajudar os leitores a entender o objetivo deste módulo.