Thông báo: Download 4 khóa học Python từ cơ bản đến nâng cao tại đây.
Hướng dẫn toàn diện về module datetime trong Python
Module datetime là một module tích hợp sẵn trong Python, được sử dụng để làm việc với ngày và giờ. Python không cung cấp kiểu dữ liệu riêng cho ngày và giờ mà thay vào đó, module này cung cấp các lớp (class) để thao tác với các đối tượng ngày giờ.

6 lớp chính trong module datetime trong Python
Module datetime bao gồm 6 lớp hỗ trợ làm việc với các đối tượng ngày và giờ:
Lớp date
Lớp date sử dụng lịch Gregory (Gregorian calendar) với các thuộc tính chính là năm (year), tháng (month), và ngày (day).
Ví dụ:
Bài viết này được đăng tại [free tuts .net]
import datetime # Tạo đối tượng ngày dt = datetime.date(2022, 2, 24) print(dt)
Kết quả:
2022-02-24
date(): Hàm tạo (constructor) của lớpdatenhận 3 tham số: năm, tháng, ngày.dt: Đối tượng của lớpdate.
Lấy ngày hiện tại và các thuộc tính:
from datetime import date
# Lấy ngày hiện tại
today = date.today()
print("Ngày hiện tại:", today)
print("Năm hiện tại:", today.year)
print("Tháng hiện tại:", today.month)
print("Ngày hiện tại:", today.day)
Kết quả:
Ngày hiện tại: 2022-02-24 Năm hiện tại: 2022 Tháng hiện tại: 2 Ngày hiện tại: 24
Lớp time
Lớp time tập trung vào việc thao tác với thời gian trong ngày (không bao gồm ngày). Các thuộc tính bao gồm giờ (hour), phút (minute), giây (second), và microsecond.
Ví dụ tạo đối tượng time:
from datetime import time
# Không truyền tham số
t1 = time()
print("t1:", t1)
# Truyền tham số giờ, phút, giây
t2 = time(12, 11, 9)
print("t2:", t2)
Kết quả:
t1: 00:00:00 t2: 12:11:09
Truy cập các thuộc tính:
from datetime import time
t = time(6, 11, 12, 999)
print("Giờ:", t.hour)
print("Phút:", t.minute)
print("Giây:", t.second)
print("Microsecond:", t.microsecond)
Kết quả:
Giờ: 6 Phút: 11 Giây: 12 Microsecond: 999
Lớp datetime
Lớp datetime kết hợp cả ngày và giờ, với đầy đủ các thuộc tính của hai lớp date và time.
Tạo đối tượng datetime:
from datetime import datetime
# Không truyền tham số thời gian
dt1 = datetime(2022, 2, 24)
print("dt1:", dt1)
# Truyền tham số thời gian
dt2 = datetime(2022, 2, 24, 11, 10, 36, 1214)
print("dt2:", dt2)
Kết quả:
dt1: 2022-02-24 00:00:00 dt2: 2022-02-24 11:10:36.001214
Lấy thời gian hiện tại và các thuộc tính:
from datetime import datetime
# Lấy thời gian hiện tại
now = datetime.now()
print("Ngày:", now.day)
print("Tháng:", now.month)
print("Năm:", now.year)
print("Giờ:", now.hour)
print("Phút:", now.minute)
print("Giây:", now.second)
Lớp timedelta
Lớp timedelta dùng để tính toán khoảng cách giữa hai ngày hoặc giờ.
Ví dụ:
from datetime import datetime, timedelta
# Tạo đối tượng datetime
date1 = datetime(2021, 6, 24)
date2 = datetime(2020, 4, 20)
# Hiệu số giữa hai ngày
diff = date2 - date1
print("Hiệu số ngày:", diff)
# Trừ đi 13 ngày
date1 -= timedelta(days=13)
print("Ngày sau khi trừ 13 ngày:", date1)
# Cộng thêm 12 tuần
date2 += timedelta(weeks=12)
print("Ngày sau khi cộng 12 tuần:", date2)
Lớp tzinfo
Lớp tzinfo là một lớp cơ sở trừu tượng, cung cấp thông tin về múi giờ và được sử dụng bởi các lớp datetime và time.
Lớp timezone
Lớp timezone là một lớp con của tzinfo, được định nghĩa bởi độ lệch so với giờ UTC.
Ví dụ:
from datetime import timezone, timedelta tz = timezone(offset=timedelta(hours=3)) print(tz)
Kết quả:
UTC+03:00
Chuyển đổi giữa chuỗi và đối tượng datetime trong Python
Từ datetime sang chuỗi (strftime):
from datetime import datetime
now = datetime.now()
# Định dạng thành chuỗi
now_str = now.strftime("%Y-%m-%d, %H:%M:%S")
print(now_str)

Các kiểu dữ liệu trong C ( int - float - double - char ...)
Thuật toán tìm ước chung lớn nhất trong C/C++
Cấu trúc lệnh switch case trong C++ (có bài tập thực hành)
ComboBox - ListBox trong lập trình C# winforms
Random trong Python: Tạo số random ngẫu nhiên
Lệnh cin và cout trong C++
Cách khai báo biến trong PHP, các loại biến thường gặp
Download và cài đặt Vertrigo Server
Thẻ li trong HTML
Thẻ article trong HTML5
Cấu trúc HTML5: Cách tạo template HTML5 đầu tiên
Cách dùng thẻ img trong HTML và các thuộc tính của img
Thẻ a trong HTML và các thuộc tính của thẻ a thường dùng