🐍 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()
và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)