Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Cách kiểm tra xem có 24 giờ trôi qua giữa hai datetime trong Python

Để kiểm tra xem khoảng cách giữa hai datetime có vượt quá 24 giờ (86400 giây), hãy trừ hai datetime để ra timedelta, rồi dùng .total_seconds() so sánh.

Ví dụ

from datetime import datetime

SECONDS_IN_24H = 86400

first = datetime(2017, 10, 10)
second = datetime(2017, 10, 12)

diff_seconds = (second - first).total_seconds()

if diff_seconds > SECONDS_IN_24H:
    print("Đã quá 24 giờ!")
else:
    print("Chưa đủ 24 giờ.")

Kết quả

Đã quá 24 giờ!

Giải thích

  • second - first trả về timedelta.
  • .total_seconds() trả về tổng số giây (bao gồm ngày, giờ, phút...), khác với .seconds (chỉ phần giây < 1 ngày).
  • So sánh trực tiếp timedelta > int không được (TypeError). Phải dùng total_seconds().

Mở rộng: Kiểm tra chính xác 1 ngày lịch (calendar day)

Nếu muốn kiểm tra "qua ngày mới" (00:00) thay vì 24h liên tục:

if (second.date() - first.date()).days >= 1:
    print("Đã sang ngày mới")