🐍 Ngày 38 - Python 365 ngày: Làm việc với thời gian (datetime)
🎯 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)