Come usare il modulo Pytz di Python

Come usare il modulo Pytz di Python
I valori di data e ora variano in base alla zona. Questi valori sono necessari per cambiare per quelle applicazioni Python che richiedono il trattare con gli utenti internazionali. Secondo la zona, il modulo DateTime di Python non può convertire i valori della data e del tempo. Questo problema può essere risolto utilizzando il Pytz Modulo di Python. Questo modulo non è installato in Python. Quindi, devi installare questo modulo prima di usarlo nello script. Come il pyzt Il modulo può essere installato e utilizzato in Python, hanno mostrato in questo tutorial.

Installa il modulo PYZT:

Esegui il seguente comando per installare il modulo PYZT prima di praticare gli esempi di questo tutorial.

$ pip Installa Pytz

Esempio-1: stampare tutti i fusi orari supportati e comunemente usati

Il seguente script stamperà tutti i fusi orari supportati e i fusi orari ampiamente utilizzati utilizzando il Pyzy modulo. IL Pyzt Il modulo viene importato all'inizio dello script. Pytz.All_timezones L'attributo restituisce l'elenco di tutti i fusi orari supportati come oggetto elenco. Pytz.Common_timezones L'attributo restituisce l'elenco di tutti i fusi orari comunemente usati come oggetto elenco. Due elenchi verranno stampati dopo aver eseguito questo script.

# Importa il modulo PYTZ
importare pytz
# Stampa tutti zone di tempo supportati
Stampa ('The Timezones supportati dal modulo PYTZ: \ n', Pytz.All_timezones, '\ n')
# Stampa le zone di tempo comunemente usate
Stampa ("zone di tempo comunemente usate: \ n ', pytz.Common_timezones, '\ n')

Produzione:

Verrà visualizzato il seguente output dopo aver eseguito lo script sopra.

Esempio-2: stampa i nomi di paesi

Il seguente script stamperà l'elenco dei nomi del paese con i codici del paese e il nome del paese di un particolare codice paese. Pytz.country_names.elementi() Il metodo restituisce un oggetto di dizionario dei nomi del paese con il codice del paese. I codici del paese sono assegnati nelle chiavi dell'oggetto del dizionario e i nomi del paese sono assegnati nei valori dell'oggetto del dizionario. Il Loop è stato utilizzato nello script per stampare i nomi del paese con il codice del paese in ogni riga iterando l'oggetto del dizionario restituito da Pytz.country_names.elementi(). Successivamente, il nome del paese del 'JP'Il codice del paese verrà stampato.

# Importa il modulo PYTZ
importare pytz
"
Stampa il nome del paese con il codice del paese in ogni riga
Utilizzando per loop
"
print ('country_names:')
per la chiave, val in pytz.country_names.elementi():
print (val, '(', key, ')')
# Stampa il nome del paese del particolare codice del paese
print ('\ ncountry nome basato sul codice del paese (JP):', PYTZ.country_names ['jp'])

Produzione:

Verrà visualizzato il seguente output dopo aver eseguito lo script sopra. L'output mostra i nomi del paese e i codici di campagna tra parentesi. Il nome del paese di 'JP' è il Giappone che viene stampato in seguito.

Esempio-3: data e ora di stampa in base al fuso orario

I valori di data e ora variano in base al fuso orario. Il seguente script stamperà all'inizio la data e l'ora del fuso orario corrente. Successivamente, il fuso orario verrà cambiato USA/Eastern Usando Pytz.Il metodo timezone () e la data e l'ora verranno stampati in base al USA/Eastern fuso orario. Successivamente, il fuso orario verrà cambiato Asia/hong_kong fuso orario e la data e l'ora saranno stampate in base a Asia/hong_kong fuso orario. La data e l'ora delle fusi orari UTC e IST saranno stampati in seguito.

# Importa modulo DateTime
Importa DateTime come DT
# Importa il modulo Pyzt
importare pytz
# Recupera la data corrente
Source_date = dt.appuntamento.Ora()
# Stampa i dati e il tempo correnti
print ('La data e ora corrente: \ n', sorgente_date)
# Imposta il fuso orario su di noi/orientale
CurrentTimeZone = pytz.Timezone ('US/Eastern')
# Stampa l'attuale Time-Zone Asia/Hong_Kong
print ('\ nthe time-zone è impostato su: \ n', currentimezone)
# Leggi e stampano la data e l'ora correnti della zona temporale
CurrentDateWithTimeZone = CurrentTimeZone.Localize (Source_date)
print ('La data e l'ora di questo tempo-zone: \ n', currentDateWithEtimeZone)
# Imposta la zona di tempo target
newtimezone = pytz.TimeZone ('Asia/Hong_Kong')
print ('\ nthe time-zone è impostata su: \ n', newtimezone)
# Leggi e stampano la data e l'ora correnti della zona temporale appena definita
newDateWithTimeZone = CurrentDateWithTimeZone.ASTimeZone (NewTimezone)
print ('La data e l'ora di questo tempo-zone: \ n', newdatewith-zone)
# Leggi il datetime del fuso orario specificato
print ('\ ndatetime di utc time-zone:', dt.appuntamento.ora (tz = currentTimezone))
print ('Datetime of ist time-zone:', dt.appuntamento.ora (tz = newtimezone))

Produzione:

Verrà visualizzato il seguente output dopo aver eseguito lo script sopra. L'output mostra che i valori della data e del tempo variano in base al fuso orario.

Esempio-4: stampare la data e l'ora formattata

Negli esempi precedenti, i valori di data e ora sono stampati nel formato predefinito. Il seguente script stamperà i dati e il tempo formati in base al fuso orario selezionato. Il formato della data e dell'ora ha definito all'inizio dello script. Secondo il formato, la data verrà stampata dd-mm-yyyy formato e il tempo verrà stampato HH: MM: SS formato. Successivamente, il fuso orario verrà assegnato America/Toronto, e la data e l'ora verranno stampate utilizzando The Strftime () funzione con il formato sopra menzionato. Successivamente, il fuso orario verrà assegnato Asia/Dhaka e stampato come prima.

# Importa modulo DateTime
da DateTime Import DateTime
# Importa il modulo del fuso orario
Dal fuso orario di import Pytz
# Imposta il formato della data e dell'ora
dt_format = "%d-%m-%y%h:%m:%s"
# Imposta l'ora attuale su America/Toronto Zone
Torontozone = DateTime.ora (timezone ('America/Toronto'))
Stampa ('Data e ora della zona di Toronto: \ n', Torontozone.strftime (dt_format))
# Cambia il fuso orario in Asia/Dhaka
dhakazone = Torontozone.ASTimezone (Timezone ('Asia/Dhaka'))
Stampa ('Data e ora della zona Dhaka: \ n', dhakazone.strftime (dt_format))

Produzione:

Verrà visualizzato il seguente output dopo aver eseguito lo script sopra. L'output mostra che la differenza di tempo tra Toronto e Dhaka è di 10 ore.

Conclusione:

IL Pyzt Il modulo ha molte funzioni integrate per funzionare con i diversi fusi orari e valori di tempo. I valori della data e del tempo del sito Web possono essere modificati in base al fuso orario del visitatore utilizzando questo modulo. Gli usi principali di questo modulo sono stati spiegati in questo tutorial usando diversi esempi per aiutare i lettori a comprendere lo scopo di questo modulo.