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

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

DDD
DDDasal
2024-11-27 15:04:10686semak imbas

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

Tukar Cap Masa dengan Offset kepada Objek Masa Tarikh Menggunakan strptime

Apabila bekerja dengan cap masa yang termasuk offset masa, seperti "2012-07-24T23:14:29- 07:00," anda mungkin menghadapi masalah semasa menukarnya kepada objek datetime Python menggunakan strptime kaedah. Format lalai yang dinyatakan dalam fungsi strptime tidak menyokong offset masa.

Walau bagaimanapun, anda boleh meneroka beberapa strategi untuk menangani penukaran ini:

Mengabaikan Zon Waktu

Jika anda melakukannya tidak perlu mengekalkan maklumat zon waktu, anda boleh memilih untuk mengabaikannya semasa penukaran. Ini boleh dilakukan dengan menghiris rentetan cap masa untuk mengecualikan offset:

time_str = "2012-07-24T23:14:29-07:00"
time_str_no_offset = time_str[:19]  # Remove the offset portion

time_obj = datetime.datetime.strptime(time_str_no_offset, "%Y-%m-%dT%H:%M:%S")  # Convert without offset

Menggunakan Modul dateutil

Penyelesaian alternatif ialah memanfaatkan modul dateutil. Ia menyediakan fungsi parse yang boleh mengendalikan cap masa dengan offset:

from dateutil.parser import parse

time_obj = parse(time_str)

Fungsi parse akan secara automatik mengesan dan memasukkan maklumat zon waktu dalam objek datetime yang terhasil.

Python 3.2 atau Kemudian

Jika anda menggunakan Python 3.2 atau lebih baharu, sokongan zon waktu telah dipertingkatkan. Anda boleh menggunakan penentu format %z untuk memasukkan offset zon waktu:

time_str = "2012-07-24T23:14:29-07:00"
time_obj = datetime.datetime.strptime(time_str, "%Y-%m-%dT%H:%M:%S%z")

Perhatikan bahawa aksara bertindih terakhir dalam format mesti dialih keluar dan tanda sempang sebelum ofset hendaklah digantikan dengan tanda tambah atau tanda tolak bergantung pada arah offset.

Dengan melaksanakan pendekatan ini, anda boleh menukar cap masa dengan offset kepada objek datetime dengan berkesan dalam Python, menampung keperluan khusus anda.

Atas ialah kandungan terperinci Bagaimana untuk Menukar Cap Masa dengan Offset Masa kepada Objek datetime Python?. 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