Penukaran Zon Waktu Python Dijelaskan
Menukar masa merentas zon waktu berbeza boleh menjadi tugas biasa dalam Python. Soalan ini meneroka cara untuk melaksanakan penukaran ini dengan berkesan.
Pendekatan yang disyorkan melibatkan penukaran masa minat kepada objek datetime sedar UTC. Ini kerana objek datetime dalam Python tidak secara semula jadi termasuk maklumat zon waktu.
Setelah masa berada dalam UTC, anda boleh menggunakan fungsi zon masa untuk menukarkannya kepada zon waktu yang diingini. Sebagai contoh, pertimbangkan kod berikut:
<code class="python">from datetime import datetime import pytz utcmoment_naive = datetime.utcnow() utcmoment = utcmoment_naive.replace(tzinfo=pytz.utc)</code>
Ini menukar masa UTC semasa kepada objek datetime sedar UTC. Untuk menukar kepada zon waktu tertentu, gunakan yang berikut:
<code class="python">localDatetime = utcmoment.astimezone(pytz.timezone('America/Los_Angeles'))</code>
Ini menukar masa UTC kepada Waktu Pasifik (PT) di Los Angeles.
Dalam senario di mana masa mungkin tidak wujud dalam zon waktu yang ditukar disebabkan oleh penjimatan siang atau faktor lain, anda boleh menggunakan pendekatan berikut:
<code class="python">localmoment_naive = datetime.strptime('2013-09-06 14:05:10', '%Y-%m-%d %H:%M:%S') localtimezone = pytz.timezone('Australia/Adelaide') try: localmoment = localtimezone.localize(localmoment_naive, is_dst=None) print("Time exists") utcmoment = localmoment.astimezone(pytz.utc) except pytz.exceptions.NonExistentTimeError as e: print("NonExistentTimeError")</code>
Ini cuba untuk menukar waktu tempatan kepada UTC, mengendalikan kemungkinan masa itu mungkin tidak wujud disebabkan oleh penjimatan siang masa.
Atas ialah kandungan terperinci Cara Menukar Zon Waktu dalam Python: Panduan Komprehensif. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!