Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Menukar Rentetan Waktu Tempatan kepada UTC Menggunakan Python?

Bagaimanakah Saya Boleh Menukar Rentetan Waktu Tempatan kepada UTC Menggunakan Python?

Linda Hamilton
Linda Hamiltonasal
2024-11-30 22:56:221012semak imbas

How Can I Convert Local Time Strings to UTC Using Python?

Menukar Rentetan Waktu Setempat kepada UTC

Menukar rentetan waktu tempatan kepada rentetan waktu UTC boleh menjadi satu tugas yang rumit, kerana zon waktu dan Daylight Penjimatan Masa (DST) boleh memperkenalkan kekaburan. Artikel ini memberikan penjelasan terperinci tentang cara untuk mencapai penukaran ini menggunakan modul datetime dan pytz.

Langkah:

  1. Hilang rentetan waktu tempatan :
    Gunakan fungsi datetime.datetime.strptime() untuk menghuraikan rentetan sebagai objek datetime naif tanpa maklumat zon waktu.
  2. Semak zon waktu setempat:
    Tentukan zon waktu setempat dengan menanyakan sistem atau menggunakan fungsi pytz.timezone().
  3. Bina objek zon waktu setempat:
    Buat objek zon waktu daripada zon waktu tempatan menggunakan fungsi pytz.timezone().
  4. Lampirkan zon waktu setempat pada datetime:
    Panggil fungsi pytz.localize() untuk melampirkan zon waktu setempat pada datetime naif, menghasilkan penyetempatan objek datetime.
  5. Tukar kepada UTC:
    Gunakan kaedah astimezone() pada datetime setempat untuk menukarnya kepada UTC.
  6. Formatkan masa UTC:
    Gunakan kaedah strftime() pada datetime UTC untuk memformatkannya sebagai rentetan dalam yang dikehendaki format.

Contoh:

Contoh berikut menukar rentetan waktu tempatan "2001-2-3 10:11:12" dalam "America/ zon waktu Los_Angeles" kepada waktu UTC yang setara:

from datetime import datetime   
import pytz

local = pytz.timezone("America/Los_Angeles")
naive = datetime.strptime("2001-2-3 10:11:12", "%Y-%m-%d %H:%M:%S")
local_dt = local.localize(naive, is_dst=None)
utc_dt = local_dt.astimezone(pytz.utc)

print(utc_dt.strftime("%Y-%m-%d %H:%M:%S"))

Ini akan mengeluarkan: "2001-02-03 02:11:12".

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menukar Rentetan Waktu Tempatan kepada UTC Menggunakan 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