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

DDD
Lepaskan: 2024-11-24 22:59:11
asal
964 orang telah melayarinya

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)
Salin selepas log masuk

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)
Salin selepas log masuk

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.")
Salin selepas log masuk

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!

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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan