Làm việc với ngày giờ trong Python (datetime)

Xử lý ngày giờ là nhu cầu phổ biến: tính tuổi, đo khoảng thời gian, định dạng ngày tháng. Module datetime của Python lo trọn việc này.

Lấy ngày giờ hiện tại

from datetime import datetime, date, timedelta

bay_gio = datetime.now()
hom_nay = date.today()
print(hom_nay)   # 2026-09-02

Tạo ngày giờ cụ thể

ngay = date(2026, 9, 2)
thoi_diem = datetime(2026, 9, 2, 14, 30)   # 14:30 ngày 2/9

Định dạng ngày (strftime)

bay_gio.strftime("%d/%m/%Y")        # 02/09/2026
bay_gio.strftime("%H:%M:%S")        # 14:30:00
bay_gio.strftime("%d/%m/%Y %H:%M")  # 02/09/2026 14:30

Chuyển chuỗi thành ngày (strptime)

ngay = datetime.strptime("02/09/2026", "%d/%m/%Y")

Tính toán với timedelta

hom_nay = date.today()
tuan_sau = hom_nay + timedelta(days=7)
khoang_cach = date(2027, 1, 1) - hom_nay
print(khoang_cach.days)   # số ngày còn lại

Ví dụ: tính tuổi

sinh = date(2000, 5, 15)
tuoi = (date.today() - sinh).days // 365

Với datetime, hầu hết bài toán ngày giờ đều giải quyết gọn gàng. Khi cần xử lý múi giờ phức tạp, hãy tìm hiểu thêm thư viện zoneinfo hoặc pytz.

Lên đầu trang