Menukar Datetime UTC kepada Datetime Setempat Menggunakan Perpustakaan Standard
Menukar contoh datetime UTC kepada datetime tempatan boleh dilakukan menggunakan perpustakaan standard dalam Ular sawa. Penyelesaian biasa ialah menggunakan kaedah zon masa, tetapi ia memerlukan penyediaan objek zon waktu. Berikut ialah pendekatan alternatif hanya menggunakan perpustakaan standard:
Python 3.3 :
<code class="python">from datetime import datetime, timezone def utc_to_local(utc_dt): return utc_dt.replace(tzinfo=timezone.utc).astimezone(tz=None)</code>
Python 2/3:
<code class="python">import calendar from datetime import datetime, timedelta def utc_to_local(utc_dt): timestamp = calendar.timegm(utc_dt.timetuple()) local_dt = datetime.fromtimestamp(timestamp) assert utc_dt.resolution >= timedelta(microseconds=1) return local_dt.replace(microsecond=utc_dt.microsecond)</code>
Menggunakan pytz (Python 2/3):
<code class="python">import pytz local_tz = pytz.timezone('Europe/Moscow') # Provide your local timezone name def utc_to_local(utc_dt): local_dt = utc_dt.replace(tzinfo=pytz.utc).astimezone(local_tz) return local_tz.normalize(local_dt)</code>
Contoh:
<code class="python">def aslocaltimestr(utc_dt): return utc_to_local(utc_dt).strftime('%Y-%m-%d %H:%M:%S.%f %Z%z') utc_dt = datetime(2010, 6, 6, 17, 29, 7, 730000) print(aslocaltimestr(utc_dt))</code>
Ini akan mencetak tempatan rentetan datetime berdasarkan zon waktu lalai.
Nota: Zon waktu lalai tidak selalu boleh dipercayai dan mungkin berbeza-beza berdasarkan tetapan sistem. Untuk hasil yang lebih dipercayai dan merentas platform, adalah disyorkan untuk menentukan zon waktu setempat secara eksplisit.
Atas ialah kandungan terperinci Bagaimana untuk Menukar UTC Datetime ke Local Datetime dalam Python Menggunakan Perpustakaan Standard?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!