Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Semak sama ada 24 Jam Telah Berlalu Antara Dua Waktu dalam Python?

Bagaimana untuk Semak sama ada 24 Jam Telah Berlalu Antara Dua Waktu dalam Python?

Linda Hamilton
Linda Hamiltonasal
2024-12-02 15:16:12652semak imbas

How to Check if 24 Hours Have Passed Between Two Datetimes in Python?

Cara Menentukan jika 24 Jam Telah Berlalu Antara Datetimes dalam Python

Menentukan sama ada 24 jam telah berlalu antara dua tarikh adalah tugas biasa dalam pengaturcaraan. Kaedah yang disediakan, time_diff, mengira perbezaan masa antara masa pelaksanaan terakhir (last_updated) dan tempoh hari 24 jam kemudian. Walau bagaimanapun, untuk memastikan sama ada 24 jam telah berlalu secara khusus, langkah selanjutnya diperlukan. Berikut ialah beberapa pendekatan:

1. Naif Datetime Comparison (UTC)

Jika last_updated mewakili datetime naif (tanpa maklumat zon waktu) dalam UTC, anda boleh menggunakan modul datetime:

from datetime import datetime, timedelta

if (datetime.utcnow() - last_updated) > timedelta(hours=24):
    # More than 24 hours have passed

2. Perbandingan Masa Tarikh Naif (Masa Tempatan)

Jika last_updated mewakili waktu tempatan, anda boleh menggunakan modul masa:

import time

DAY = 86400
now = time.time()
then = time.mktime(last_updated.timetuple())
if (now - then) > DAY:
    # More than 24 hours have passed

3. Perbandingan Masa Tarikh Sedar (Zon-Aware)

Jika last_updated ialah waktu tarikh sedar zon waktu, anda boleh menukarnya kepada UTC dan membandingkannya dengan waktu UTC semasa:

from datetime import datetime, timedelta

last_updated_utc = last_updated.replace(tzinfo=None) - last_updated.utcoffset()
if (datetime.utcnow() - last_updated_utc) > timedelta(hours=24):
    # More than 24 hours have passed

4. Menggunakan Modul tzlocal

Modul tzlocal boleh digunakan untuk mengendalikan penukaran zon waktu untuk waktu tarikh yang naif:

from datetime import datetime, timedelta
from tzlocal import get_localzone

local_timezone = get_localzone()
last_updated_aware = local_timezone.localize(last_updated)
if (datetime.now(local_timezone) - last_updated_aware) > timedelta(hours=24):
    # More than 24 hours have passed

Atas ialah kandungan terperinci Bagaimana untuk Semak sama ada 24 Jam Telah Berlalu Antara Dua Waktu 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
Artikel sebelumnya:Automasi dengan Python.Artikel seterusnya:Automasi dengan Python.