Rumah >pembangunan bahagian belakang >Tutorial Python >Mengapakah pytz Menunjukkan Offset Zon Waktu Tidak Dijangka pada mulanya?

Mengapakah pytz Menunjukkan Offset Zon Waktu Tidak Dijangka pada mulanya?

Patricia Arquette
Patricia Arquetteasal
2024-12-15 15:21:18534semak imbas

Why Does pytz Show Unexpected Time Zone Offsets Initially?

Percanggahan Zon Masa dengan pytz

Zon waktu tertentu mempamerkan offset yang pelik apabila pada mulanya diperoleh daripada pytz. Sebagai contoh, Asia/Hong_Kong pada mulanya menunjukkan offset tujuh jam 37 minit:

<br>import pytz<br>pytz.timezone('Asia/Hong_Kong')<br><DstTzInfo 'Asia/Hong_Kong' LMT 7:37:00 STD><br>

Sumber Percanggahan

Zon masa dan offset turun naik sepanjang sejarah. Nama zon waktu lalai dan ofset yang disediakan oleh pytz mewakili yang terawal tersedia untuk zon itu, yang mungkin kelihatan luar biasa.

Apabila menggunakan penyetempatan untuk menetapkan zon waktu pada tarikh, nama zon waktu dan ofset yang sesuai ialah digunakan. Walau bagaimanapun, secara langsung menggunakan pembina datetime untuk menetapkan zon waktu tidak membenarkan pelarasan yang betul.

Contoh

Pertimbangkan kod berikut:

< ;pra>
import pytz
dari tarikh import datetime
hk = pytz.timezone('Asia/Hong_Kong')

dt1 = datetime(2012,1,1,tzinfo=hk)
dt2 = hk.localize(datetime(2012,1,1))
jika dt1 > dt2:
cetak "Kenapa?"

Dalam contoh ini, dt1 akan lebih besar daripada dt2 disebabkan percanggahan offset awal. Dengan menggunakan localize, dt2 memperoleh offset yang tepat, menghasilkan perbandingan logik antara kedua-dua tarikh.

Atas ialah kandungan terperinci Mengapakah pytz Menunjukkan Offset Zon Waktu Tidak Dijangka pada mulanya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn