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

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

Susan Sarandon
Susan Sarandonasal
2024-11-30 22:45:12324semak imbas

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

Menukar Rentetan Waktu Setempat kepada UTC

Dalam senario tertentu, kami mungkin menghadapi keperluan untuk menukar rentetan datetime daripada waktu tempatan kepada UTC. Untuk mencapai matlamat ini, kita boleh menggunakan modul datetime dan pytz Python.

Langkah 1: Menghuraikan Rentetan Waktu Setempat

Mulakan dengan menghuraikan rentetan waktu tempatan ke dalam datetime naif objek. Waktu tarikh yang naif tidak mempunyai maklumat zon waktu.

Langkah 2: Mengenalpasti Zon Waktu Setempat

Seterusnya, tentukan zon waktu setempat menggunakan modul pytz. Bina objek zon waktu berdasarkan maklumat ini.

Langkah 3: Memanipulasi dan Melampirkan Zon Waktu

Gunakan kaedah pytz.timezone() untuk mencipta objek zon waktu yang mewakili zon waktu tempatan. Walau bagaimanapun, adalah penting untuk ambil perhatian bahawa kerumitan masa penjimatan siang (DST) menimbulkan kesamaran.

Langkah 4: Menukar kepada UTC

Untuk menukar tarikh tarikh kepada UTC, gunakan kaedah astimezone() kepada datetime setempat. Kaedah ini melaraskan masa tarikh kepada UTC sambil mengambil kira perbezaan DST dan zon waktu lain.

Langkah 5: Memformat Rentetan UTC

Akhir sekali, gunakan kaedah strftime() untuk formatkan waktu tarikh UTC ke dalam rentetan yang dikehendaki perwakilan.

Contoh:

Pertimbangkan untuk menukar rentetan "2001-2-3 10:11:12" daripada zon waktu tempatan "America/Los_Angeles" kepada UTC:

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"))  # Output: 2001-02-03 18:11:12

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