Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Menukar Objek Datetime Naif kepada Objek Datetime Aware dalam Python?

Bagaimana untuk Menukar Objek Datetime Naif kepada Objek Datetime Aware dalam Python?

DDD
DDDasal
2024-11-24 22:59:11969semak imbas

How to Convert a Naive Datetime Object to an Aware Datetime Object in Python?

Cara Membuat Objek Datetime Sedar (Tidak Naif)

Dalam Python, objek datetime boleh sama ada naif atau sedar. Objek naif tidak mempunyai zon waktu yang dikaitkan dengannya, manakala objek sedar. Ini boleh membawa kepada masalah apabila membandingkan objek datetime, kerana objek naif tidak boleh dibandingkan dengan objek sedar.

Terdapat beberapa cara untuk menyedarkan objek datetime naif. Salah satu cara ialah menggunakan kaedah penyetempatan. Kaedah penyetempatan mengambil objek zon waktu pytz sebagai hujah dan mengembalikan objek datetime baharu yang mengetahui zon waktu yang ditentukan.

Contohnya:

import datetime
import pytz

unaware = datetime.datetime(2011, 8, 15, 8, 15, 12, 0)
aware = pytz.utc.localize(unaware)

Ini akan mencipta objek datetime baharu yang mengetahui zon waktu UTC.

Cara lain untuk menyedarkan objek datetime naif ialah menggunakan kaedah ganti. Kaedah ganti mengambil beberapa argumen kata kunci, termasuk satu untuk atribut tzinfo. Atribut tzinfo boleh ditetapkan kepada objek zon waktu pytz untuk menyedarkan objek datetime.

Contohnya:

import datetime
import pytz

unaware = datetime.datetime(2011, 8, 15, 8, 15, 12, 0)
aware = unaware.replace(tzinfo=pytz.UTC)

Ini juga akan mencipta objek datetime baharu yang menyedari UTC zon waktu.

Setelah objek datetime sedar, ia boleh dibandingkan dengan objek datetime sedar yang lain. Contohnya:

import datetime
import pytz

aware_1 = pytz.utc.localize(datetime.datetime(2011, 8, 15, 8, 15, 12, 0))
aware_2 = pytz.utc.localize(datetime.datetime(2011, 8, 15, 8, 15, 12, 0))

if aware_1 == aware_2:
    print("The two datetime objects are equal.")

Ini akan mencetak "Dua objek datetime adalah sama."

Atas ialah kandungan terperinci Bagaimana untuk Menukar Objek Datetime Naif kepada Objek Datetime Aware 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