Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana Menghuraikan Tarikh dan Masa ISO 8601 dengan Mudah dalam Python?

Bagaimana Menghuraikan Tarikh dan Masa ISO 8601 dengan Mudah dalam Python?

Barbara Streisand
Barbara Streisandasal
2024-12-18 21:37:12545semak imbas

How to Easily Parse ISO 8601 Dates and Times in Python?

Cara Menghuraikan Tarikh dan Masa Berformat ISO 8601 dalam Python

Fungsi strptime Python tidak sesuai untuk menghuraikan rentetan tarikh dan masa berformat ISO 8601. Untuk penyelesaian yang lebih mudah, pertimbangkan fungsi isoparse daripada pakej python-dateutil.

Fungsi isoparse

isoparse direka khusus untuk menghuraikan rentetan datetime ISO 8601 seperti "2008 -09-03T20:56:35.450686Z". Ia juga mengendalikan format tarikh dan masa ISO 8601 yang lain, seperti format tanpa UTC mengimbangi atau hanya mewakili tarikh.

import dateutil.parser
datetime_object = dateutil.parser.isoparse('2008-09-03T20:56:35.450686Z')

Perbandingan dengan datetime.datetime.fromisoformat Python

Dalam Python 3.7 dan lebih awal, datetime.datetime.fromisoformat bukanlah format ISO 8601 yang lengkap penghurai. Ia hanya menyokong subset format ISO 8601 yang sah. Dalam Python 3.11, fromisoformat menyokong hampir semua rentetan ISO 8601 yang sah.

Mengendalikan Kesalahan Baca

isoparse dan penghurai lembut yang lain berpotensi salah membaca rentetan tertentu. Untuk penghuraian yang lebih ketat, pertimbangkan untuk menggunakan pustaka yang berbeza atau melaksanakan logik penghuraian anda sendiri.

Kesimpulan

Fungsi isoparse daripada python-dateutil menyediakan cara yang mudah dan komprehensif untuk menghuraikan rentetan tarikh dan masa berformat ISO 8601 dalam Python. Ia menyokong pelbagai format dan mengendalikan offset UTC dengan betul.

Atas ialah kandungan terperinci Bagaimana Menghuraikan Tarikh dan Masa ISO 8601 dengan Mudah dalam 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