Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk Menukar Cap Masa dengan Offset Zon Waktu kepada Objek datetime Python?

Bagaimana untuk Menukar Cap Masa dengan Offset Zon Waktu kepada Objek datetime Python?

DDD
Lepaskan: 2024-11-27 05:48:09
asal
493 orang telah melayarinya

How to Convert Timestamps with Timezone Offsets to Python datetime Objects?

Menukar Cap Masa dengan Offset kepada Objek Masa Tarikh Menggunakan strptime

Menukar cap masa daripada format "YYYY-MM-DDTHH:MM:SS-hh:mm" kepada objek datetime dalam Python menggunakan kaedah strptime boleh mencabar kerana masa mengimbangi maklumat.

Dalam contoh yang disediakan, strptime gagal menghuraikan cap waktu dengan offset "-07:00" menggunakan "%Y-%m-%dT%H:%M:%S-%z "format. Ini kerana strptime tidak menyokong arahan '%z' untuk zon waktu dalam Python 2 secara asli.

Pilihan Penyelesaian:

1. Abaikan Zon Waktu:

Jika maklumat zon waktu tidak penting, anda boleh mengabaikannya dengan menghuraikan rentetan sehingga offset:

time_str = "2012-07-24T23:14:29-07:00"
time_obj = datetime.datetime.strptime(time_str[:19], '%Y-%m-%dT%H:%M:%S')
Salin selepas log masuk

2. Gunakan Modul dateutil:

Sebagai alternatif, modul dateutil menyediakan fungsi penghuraian yang lebih mantap yang menyokong zon waktu:

from dateutil.parser import parse
time_obj = parse(time_str)
Salin selepas log masuk

Sokongan Python 3:

Dalam Python 3.2 dan lebih baru, terdapat sokongan yang lebih baik untuk pengendalian zon waktu. Mengalih keluar ":" terakhir daripada ofset dan menggantikan "-" dengan " ":

time_str = "2012-07-24T23:14:29-07:00"
time_obj = datetime.datetime.strptime(''.join(time_str.rsplit(':', 1)), '%Y-%m-%dT%H:%M:%S%z')
Salin selepas log masuk

Ini akan menghuraikan cap waktu dengan betul dan mencipta objek datetime dengan ofset zon waktu yang ditentukan.

Atas ialah kandungan terperinci Bagaimana untuk Menukar Cap Masa dengan Offset Zon Waktu kepada Objek datetime Python?. 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan