Module datetime trong Python cung cấp các lớp date, time, datetime hỗ trợ so sánh trực tiếp bằng các toán tử >, <, ==... giống như số học.
Ví dụ so sánh date
import datetime
# Ngày hôm nay
print("Hôm nay:", datetime.date.today())
# Tạo 2 date
date1 = datetime.date(2019, 7, 2)
date2 = datetime.date(2019, 6, 5)
# So sánh
if date1 > date2:
print("Date1 > Date2")
elif date1 < date2:
print("Date1 < Date2")
else:
print("Hai ngày bằng nhau")
Ví dụ so sánh datetime (có giờ phút giây)
print("Thời gian hiện tại:", datetime.datetime.now())
dt1 = datetime.datetime(2019, 7, 2, 23, 15, 9)
dt2 = datetime.datetime(2019, 7, 2, 23, 15, 9)
if dt1 == dt2:
print("DateTime1 bằng DateTime2")
else:
print("DateTime không bằng nhau")
Kết quả mẫu
Hôm nay: 2019-08-01 Date1 > Date2 Thời gian hiện tại: 2019-08-01 16:34:01.061242 DateTime1 bằng DateTime2
Lưu ý quan trọng
- So sánh chỉ hợp lệ giữa cùng kiểu:
datevớidate,datetimevớidatetime. - Để so sánh date với datetime, hãy dùng
datetime.combine(date, time.min)hoặcdate()method của datetime. - Timezone: Nên dùng
datetime.timezone.utchoặc thư việnpytz/zoneinfo(Python 3.9+) để tránh lỗi múi giờ.
Kết luận
Python cho phép so sánh ngày giờ tự nhiên nhờ nạp chồng toán tử so sánh trong module datetime.