Để 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 - firsttrả 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 > intkhông được (TypeError). Phải dùngtotal_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")