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

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

Barbara Streisand
Lepaskan: 2024-11-29 19:37:11
asal
1039 orang telah melayarinya

How to Convert Timestamps with Timezone Offsets to DateTime Objects in Python?

Tukar Cap Masa dengan Offset kepada Objek Masa Tarikh Menggunakan strptime

Masalah

Menukar cap masa format "2012-07-24T23:14:29- 07:00" hingga objek datetime menggunakan strptime() boleh bermasalah kerana masa offset pada penghujung (-07:00). Tanpa offset, adalah mungkin untuk menggunakan strptime() seperti berikut:

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

Walau bagaimanapun, menggunakan ofset masa yang disediakan mengakibatkan ValueError disebabkan arahan 'z' tidak disokong.

Penyelesaian

Terdapat dua utama penyelesaian:

1. Abaikan Zon Waktu Menggunakan strptime():

Alih keluar bahagian zon waktu daripada cap waktu sebelum menghuraikan:

time_obj = datetime.datetime.strptime(time_str[:19], '%Y-%m-%dT%H:%M:%S')
Salin selepas log masuk

2. Gunakan dateutil.parser:

Modul dateutil menawarkan fungsi parse yang menyokong zon waktu:

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

Python 3.2 dan Lebih Baru

Untuk Python versi 3.2 dan ke atas , sokongan zon waktu telah dipertingkatkan. %z akan berfungsi selepas melaraskan rentetan format seperti berikut:

  • Alih keluar titik bertindih terakhir daripada rentetan format.
  • Alih keluar '-' sebelum penentu %z.
time_obj = datetime.datetime.strptime(time_str, '%Y-%m-%dT%H:%M:%S%z')
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk Menukar Cap Masa dengan Offset Zon Waktu kepada Objek DateTime dalam 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan