Rumah > pembangunan bahagian belakang > Tutorial Python > Mengapa Zon Waktu `Asia/Hong_Kong` Pytz Menunjukkan Offset Tidak Konsisten?

Mengapa Zon Waktu `Asia/Hong_Kong` Pytz Menunjukkan Offset Tidak Konsisten?

Linda Hamilton
Lepaskan: 2024-12-06 15:56:10
asal
1048 orang telah melayarinya

Why Does Pytz's `Asia/Hong_Kong` Timezone Show Inconsistent Offsets?

Anomali Tarikh dengan Zon Waktu Pytz

Pytz, perpustakaan Python yang lazim untuk mengendalikan zon waktu, kadangkala menunjukkan gelagat ofset yang luar biasa. Terutama, apabila meminta zon waktu 'Asia/Hong_Kong', pytz mungkin mengembalikan offset 7:37:00, yang kelihatan tidak konsisten.

Untuk menggambarkan, pertimbangkan kod berikut:

import pytz
pytz.timezone('Asia/Hong_Kong')
Salin selepas log masuk

Output menunjukkan maklumat zon waktu sebagai:

<DstTzInfo 'Asia/Hong_Kong' LMT+7:37:00 STD>
Salin selepas log masuk

Secara tidak konsisten, menggunakan kaedah penyetempatan untuk melampirkan zon waktu Hong Kong pada contoh datetime menghasilkan hasil yang berbeza:

hk = pytz.timezone('Asia/Hong_Kong')
hk_dt = hk.localize(datetime(2012, 1, 1))
Salin selepas log masuk

Membandingkan tarikh masa yang didedahkan:

dt1 = datetime(2012,1,1,tzinfo=hk)
if dt1 > hk_dt:
    print "Why?"
Salin selepas log masuk

Tanpa diduga, dt1 dinilai sebagai lebih besar daripada hk_dt.

Penjelasan

Anomali ini timbul akibat perubahan dalam zon waktu dan offset dari semasa ke semasa. Pytz memberikan nama tertua yang tersedia dan mengimbangi setiap objek zon waktu yang diciptanya. Walau bagaimanapun, apabila menggunakan kaedah penyetempatan untuk melampirkan zon pada tarikh, ia menggabungkan nama yang tepat dan mengimbangi sepadan dengan masa yang ditentukan.

Kesimpulannya, hanya menggunakan pembina datetime untuk menetapkan zon waktu pada tarikh menghalang ia daripada melaraskan dengan betul, membawa kepada ketidakkonsistenan yang diperhatikan.

Atas ialah kandungan terperinci Mengapa Zon Waktu `Asia/Hong_Kong` Pytz Menunjukkan Offset Tidak Konsisten?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan