Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Menukar Rentetan Waktu Tarikh UTC kepada Zon Waktu Setempat dalam Python?

Bagaimana untuk Menukar Rentetan Waktu Tarikh UTC kepada Zon Waktu Setempat dalam Python?

Barbara Streisand
Barbara Streisandasal
2024-11-30 10:32:13497semak imbas

How to Convert UTC Datetime Strings to Local Timezones in Python?

Menukar Rentetan Waktu Tarikh UTC kepada Waktu Tarikh Setempat

Soalan:

Cara menukar UTC rentetan datetime, disimpan sebagai rentetan dalam Jadual Besar App Engine, ke dalam datetime dalam zon waktu pengguna akhir yang betul?

Jawapan:

Untuk menukar rentetan waktu tarikh UTC kepada waktu tarikh dalam zon waktu pengguna yang betul, seseorang boleh menggunakan perpustakaan python-dateutil. Pustaka ini menyediakan pelaksanaan tzinfo di atas pangkalan data zoneinfo (Olson), membolehkan rujukan mudah peraturan zon waktu dengan nama kanonik.

Pelaksanaan:

from datetime import datetime
from dateutil import tz

# Hardcode zones:
from_zone = tz.gettz('UTC')
to_zone = tz.gettz('America/New_York')

# Auto-detect zones:
from_zone = tz.tzutc()
to_zone = tz.tzlocal()

# Create a datetime object from the UTC string
utc = datetime.strptime('2011-01-21 02:37:21', '%Y-%m-%d %H:%M:%S')

# Convert the datetime object to UTC timezone
utc = utc.replace(tzinfo=from_zone)

# Convert the datetime object to the user's timezone
local = utc.astimezone(to_zone)

Storan Disyorkan untuk Zon Waktu Maklumat:

  • "-5:00" atau "EST": Kaedah ini mudah tetapi terhad kerana ia menganggap offset tetap untuk zon waktu pengguna.
  • Nama kanonik: Menggunakan nama kanonik daripada pangkalan data Olson adalah lebih fleksibel dan sedar zon waktu, kerana ia mengambil kira perubahan sejarah dalam zon waktu. Pustaka python-dateutil membenarkan untuk merujuk zon waktu dengan nama kanonik.

Sebagai contoh, "-5:00" boleh ditukar kepada "America/New_York" menggunakan:

import pytz
est = pytz.timezone("America/New_York")
est_name = est.zone

Atas ialah kandungan terperinci Bagaimana untuk Menukar Rentetan Waktu Tarikh UTC kepada Zon Waktu Setempat 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