Rumah >pembangunan bahagian belakang >Tutorial Python >Adakah 24 Jam Berlalu Sejak Tarikh Diberikan dalam Python?

Adakah 24 Jam Berlalu Sejak Tarikh Diberikan dalam Python?

Barbara Streisand
Barbara Streisandasal
2024-12-10 09:12:12926semak imbas

Has 24 Hours Passed Since a Given DateTime in Python?

Bagaimana untuk Menentukan jika 24 Jam Telah Berlalu Antara Datetimes dalam Python

Perihalan Masalah

Andaikan anda mempunyai objek datetime yang dipanggil last_updated mewakili kali terakhir program tertentu telah dilaksanakan. Untuk menentukan sama ada 24 jam penuh telah berlalu sejak itu, ikuti langkah berikut:

Penyelesaian

  1. Dapatkan Masa Semasa:
import datetime

now = datetime.datetime.now()
  1. Kira Masa Perbezaan:
time_difference = now - last_updated
  1. Tukar kepada Jam:
hours = time_difference.total_seconds() / 3600
  1. Semak Syarat:
if hours >= 24:
    # 24 hours or more have passed
  1. Pertimbangan Tambahan:

Bergantung pada sama ada last_updated adalah naif (tidak sedar zon waktu) atau objek datetime yang sedar zon waktu, anda mungkin perlu melaraskan pengiraan perbezaan masa dengan sewajarnya. Rujuk dokumentasi Python untuk mendapatkan butiran lanjut.

Sebagai contoh, jika last_updated adalah naif dan mewakili masa UTC, anda boleh menggunakan kod berikut:

from datetime import datetime, timedelta

if (datetime.utcnow() - last_updated) > timedelta(hours=24):
    # 24 hours or more have passed in UTC

Jika last_updated adalah naif dan mewakili setempat masa, anda boleh menggunakan kod berikut:

import time

DAY = 86400
now = time.time()
then = time.mktime(last_updated.timetuple())

if (now - then) > DAY:
    # 24 hours or more have passed in local time

Untuk objek datetime yang sedar zon waktu, disyorkan untuk menukar mereka ke UTC sebelum melakukan pengiraan perbezaan masa.

Atas ialah kandungan terperinci Adakah 24 Jam Berlalu Sejak Tarikh Diberikan 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