Installeer de PYZT-module:
Voer de volgende opdracht uit om de pyzt-module te installeren voordat u de voorbeelden van deze zelfstudie oefent:.
$ pip installeer pytzVoorbeeld-1: Alle ondersteunde en veelgebruikte tijdzones afdrukken
Het volgende script drukt alle ondersteunde tijdzones en de veelgebruikte tijdzones af met: de pyzy module. De pyzt module wordt geïmporteerd aan het begin van het script. pytz.all_timezones attribuut retourneert de lijst met alle ondersteunde tijdzones als een lijstobject. pytz.common_timezones attribuut retourneert de lijst met alle veelgebruikte tijdzones als een lijstobject. Er worden twee lijsten afgedrukt na het uitvoeren van dit script.
# Importeer pytz-moduleimport pytz
# Print alle ondersteunde tijdzones
print('De tijdzones ondersteund door pytz module:\n', pytz.all_timezones, '\n')
# Veelgebruikte tijdzones afdrukken
print('Veelgebruikte tijdzones:\n', pytz.common_timezones, '\n')
Uitgang:
De volgende uitvoer zal verschijnen na het uitvoeren van het bovenstaande script:.
Voorbeeld-2: Landnamen afdrukken
Het volgende script drukt de lijst met landnamen af met landcodes en de naam van het land van een bepaalde landcode. pytz.country_names.artikelen() methode retourneert een woordenboekobject van landnamen met de landcode. De landcodes worden toegewezen in de sleutels van het woordenboekobject en de landnamen worden toegewezen in de waarden van het woordenboekobject. De for-lus is in het script gebruikt om de landnamen met de landcode in elke regel af te drukken door het woordenboekobject te herhalen dat wordt geretourneerd door pytz.country_names.artikelen(). Vervolgens wordt de landnaam van de 'JP' landcode wordt afgedrukt.
# Importeer pytz-moduleimport pytz
"
Druk de landnaam af met de landcode in elke regel
for-lus gebruiken
"
print('country_names:')
voor sleutel, val in pytz.country_names.artikelen():
print(val, '(', sleutel, ')')
# Druk de landnaam van de specifieke landcode af
print('\nLandnaam gebaseerd op landcode(JP):', pytz.country_names['JP'])
Uitgang:
De volgende uitvoer zal verschijnen na het uitvoeren van het bovenstaande script:. De uitvoer toont de landnamen en landcodes tussen haakjes. De landsnaam van 'JP' is Japan dat later wordt afgedrukt.
Voorbeeld-3: Datum en tijd afdrukken op basis van tijdzone
De datum- en tijdwaarden variëren op basis van de tijdzone. Het volgende script zal eerst de datum en tijd van de huidige tijdzone afdrukken. Vervolgens wordt de tijdzone gewijzigd in VS/Oost door pytzpy te gebruiken.timezone()-methode en de datum en tijd worden afgedrukt op basis van de VS/Oost tijdzone. Vervolgens wordt de tijdzone gewijzigd in Azië/Hong_Kong tijdzone, en de datum en tijd worden afgedrukt op basis van: Azië/Hong_Kong tijdzone. De datum en tijd van de UTC- en IST-tijdzones worden later afgedrukt.
# Datum/tijd-module importerenimporteer datetime als dt
# Pyzt-module importeren
import pytz
# Haal de huidige datum op
source_date = dt.datum Tijd.nu()
# Druk de huidige gegevens en tijd af
print('De huidige datum en tijd:\n', source_date)
# Stel de tijdzone in op US/Eastern
currentTimeZone = pytz.tijdzone('VS/Oost')
# Print de huidige tijdzone Azië/Hong_Kong
print('\nDe tijdzone is ingesteld op:\n', currentTimeZone)
# Lees en print de huidige datum en tijd van de tijdzone
currentDateWithTimeZone = currentTimeZone.lokaliseren(bron_datum)
print('De datum en tijd van deze tijdzone:\n', currentDateWithTimeZone)
# Stel de doeltijdzone in
newTimeZone = pytz.tijdzone('Azië/Hong_Kong')
print('\nDe tijdzone is ingesteld op:\n', newTimeZone)
# Lees en print de huidige datum en tijd van de nieuw gedefinieerde tijdzone
newDateWithTimezone = currentDateWithTimeZone.astimezone(nieuweTimeZone)
print('De datum en tijd van deze tijdzone:\n', newDateWithTimezone)
# Lees de datetime van de opgegeven tijdzone
print('\nDatumtijd van UTC Tijdzone: ', dt.datum Tijd.nu(tz=currentTimeZone))
print('Datumtijd van IST Tijdzone: ', dt.datum Tijd.nu(tz=newTimeZone))
Uitgang:
De volgende uitvoer zal verschijnen na het uitvoeren van het bovenstaande script:. De uitvoer laat zien dat de datum- en tijdwaarden variëren op basis van de tijdzone.
Voorbeeld-4: Druk de opgemaakte datum en tijd af
In de vorige voorbeelden worden de datum- en tijdwaarden afgedrukt in het standaardformaat. Het volgende script drukt de opgemaakte gegevens en tijd af op basis van de geselecteerde tijdzone time. Het formaat van de datum en tijd is gedefinieerd aan het begin van het script. Volgens het formaat wordt de datum afgedrukt in dd-mm-jjjj formaat, en de tijd zal worden afgedrukt in uu:mm:ss formaat. Vervolgens wordt de tijdzone toegewezen aan: Amerika/Toronto, en de datum en tijd worden afgedrukt met de strftime() functie met het hierboven genoemde formaat. Vervolgens wordt de tijdzone toegewezen aan: Azië/Dhaka en gedrukt zoals voorheen.
# DateTime-module importerenvan datetime import datetime
# Tijdzonemodule importeren
van pytz import tijdzone
# Stel het datum- en tijdformaat in
dt_format = "%d-%m-%Y %H:%M:%S"
# Stel de huidige tijd in op de zone Amerika/Toronto
torontoZone = datetime.nu(tijdzone('Amerika/Toronto'))
print('Datum en tijd van toronto zone:\n', torontoZone.strftime(dt_format))
# Verander de tijdzone in Azië/Dhaka
dhakaZone = torontoZone.astimezone(timezone('Azië/Dhaka'))
print('Datum en tijd van dhaka zone:\n', dhakaZone.strftime(dt_format))
Uitgang:
De volgende uitvoer zal verschijnen na het uitvoeren van het bovenstaande script:. De output laat zien dat het tijdsverschil tussen Toronto en Dhaka 10 uur is.
Conclusie:
De pyzt module heeft veel ingebouwde functies om te werken met de datum- en tijdwaarden van de verschillende tijdzones. Met behulp van deze module kunnen de datum- en tijdwaarden van de website worden aangepast aan de tijdzone van de bezoeker. Het primaire gebruik van deze module is in deze zelfstudie uitgelegd aan de hand van verschillende voorbeelden om de lezers te helpen het doel van deze module te begrijpen.