Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk Menukar UTC Datetime ke Local Datetime Menggunakan Python Standard Library?

Bagaimana untuk Menukar UTC Datetime ke Local Datetime Menggunakan Python Standard Library?

Mary-Kate Olsen
Lepaskan: 2024-11-03 09:02:02
asal
383 orang telah melayarinya

How to Convert UTC Datetime to Local Datetime Using Python Standard Library?

Menukar Datetime UTC ke Local Datetime Menggunakan Python Standard Library

Apabila berurusan dengan objek datetime, selalunya perlu menukar antara UTC (Coordinated Waktu Sejagat) dan waktu tempatan. Pustaka standard Python menyediakan fungsi terbina dalam untuk mencapai ini.

Alternatif pytz untuk Python 3.3

Dalam Python 3.3 dan ke atas, modul zon waktu memudahkan proses penukaran:

<code class="python">from datetime import datetime, timezone

def utc_to_local(utc_dt):
    return utc_dt.replace(tzinfo=timezone.utc).astimezone(tz=None)</code>
Salin selepas log masuk

Penyelesaian untuk Python 2/3

Untuk Python 2 dan 3, pendekatan alternatif ialah menggunakan calendar.timegm dan datetime.fromtimestamp:

<code class="python">import calendar
from datetime import datetime, timedelta

def utc_to_local(utc_dt):
    timestamp = calendar.timegm(utc_dt.timetuple())
    local_dt = datetime.fromtimestamp(timestamp)
    assert utc_dt.resolution >= timedelta(microseconds=1)
    return local_dt.replace(microsecond=utc_dt.microsecond)</code>
Salin selepas log masuk

Contoh Penggunaan

Untuk menggambarkan penukaran, pertimbangkan contoh berikut:

<code class="python">from datetime import datetime

utc_dt = datetime(2023, 7, 18, 12, 0, 0, tzinfo=timezone.utc)

local_dt = utc_to_local(utc_dt)
print(local_dt)</code>
Salin selepas log masuk

Output:

2023-07-18 18:00:00.000000+06:00
Salin selepas log masuk

Nota untuk DateTime tanpa Resolusi Mikrosaat

Dalam kes di mana waktu tarikh UTC tidak mempunyai resolusi mikrosaat, kaedah zon masa mungkin memperkenalkan nilai mikrosaat yang tidak terdapat dalam waktu tarikh asal. Untuk memastikan ketepatan, gunakan kaedah alternatif yang disediakan untuk Python 2/3.

Mengendalikan Perubahan DST

Kedua-dua penyelesaian mengambil kira perubahan waktu penjimatan siang (DST) dan dengan betul tukar waktu tarikh UTC kepada waktu tempatan yang sesuai dengan DST digunakan atau dialih keluar mengikut keperluan.

Atas ialah kandungan terperinci Bagaimana untuk Menukar UTC Datetime ke Local Datetime Menggunakan Python Standard Library?. 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