Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk Menukar Objek Datetime Naif kepada Objek Datetime Aware dalam 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!