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

So sánh ngày tháng (datetime) trong Python


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: date với date, datetime với datetime.
  • Để so sánh date với datetime, hãy dùng datetime.combine(date, time.min) hoặc date() method của datetime.
  • Timezone: Nên dùng datetime.timezone.utc hoặc thư viện pytz/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.