Skip to main content

🐍 Ngày 38 - Python 365 ngày: Làm việc với thời gian (datetime)

· 2 min read

🎯 Mục tiêu

Tìm hiểu cách sử dụng mô-đun datetime trong Python để xử lý thời gian: ngày, giờ, tính toán khoảng cách giữa hai thời điểm, v.v.


📚 Kiến thức cần biết

Python cung cấp mô-đun datetime để làm việc với:

  • Ngày (date)
  • Thời gian (time)
  • Ngày giờ (datetime)
  • Khoảng thời gian (timedelta)

📌 Một số ví dụ quan trọng

📅 Lấy thời gian hiện tại

from datetime import datetime

now = datetime.now()
print("⏰ Thời gian hiện tại:", now)
print("📅 Ngày:", now.date())
print("🕒 Giờ:", now.time())

🗓️ Tạo một đối tượng datetime cụ thể

from datetime import datetime

new_year = datetime(2025, 1, 1)
print("🎉 Năm mới:", new_year)

➖ Tính khoảng cách giữa hai thời điểm

from datetime import datetime

today = datetime.now()
new_year = datetime(2025, 1, 1)

delta = new_year - today
print("⏳ Còn lại:", delta.days, "ngày")

🎯 Bài tập thực hành

Bài 1: Tính tuổi

Yêu cầu:
Nhập ngày sinh của bạn và in ra tuổi hiện tại.

Gợi ý:

  • Sử dụng input()datetime.strptime() để chuyển đổi ngày tháng nhập vào.
  • Tính hiệu giữa ngày hiện tại và ngày sinh.

Ví dụ kết quả:

from datetime import datetime, date

def tinh_tuoi(ngay_sinh_str):
ngay_sinh = datetime.strptime(ngay_sinh_str, "%d/%m/%Y").date()
hom_nay = date.today()
tuoi = hom_nay.year - ngay_sinh.year - ((hom_nay.month, hom_nay.day) < (ngay_sinh.month, ngay_sinh.day))
return tuoi

print("Tuổi của bạn là:", tinh_tuoi("10/10/2000"))

✅ Kết quả minh họa: Tuổi của bạn là: 24


Bài 2: Đếm ngược đến Tết

Yêu cầu:
Tính số ngày còn lại đến ngày Tết Nguyên Đán 2025 (29/01/2025).

Gợi ý:

  • Sử dụng datetime.strptime() để lấy ngày Tết.
  • Tính hiệu giữa ngày hiện tại và ngày Tết.

Ví dụ kết quả:

def dem_nguoc_tet(tet_str="29/01/2025"):
ngay_tet = datetime.strptime(tet_str, "%d/%m/%Y").date()
hom_nay = date.today()
so_ngay_con_lai = (ngay_tet - hom_nay).days
return so_ngay_con_lai

print("Số ngày còn lại đến Tết: ", dem_nguoc_tet())

✅ Kết quả minh họa: Số ngày còn lại đến Tết: -80 (Tức là Tết đã qua 80 ngày tính đến hôm nay)


🎥 Video minh họa