Khởi tạo VPS trong 60 giây · Hoàn tiền trong 7 ngày · Hỗ trợ kỹ thuật 24/7
Bitech Bitech
Hướng dẫn

Hướng dẫn chuyển đổi Chuỗi (String) thành Đối tượng datetime trong Python

Tìm hiểu cách chuyển đổi chuỗi ngày tháng thành đối tượng datetime trong Python bằng strptime(), fromisoformat() và thư viện dateutil với các ví dụ mã cụ thể.

Trong xử lý dữ liệu với Python, việc làm việc với thời gian là một tác vụ rất phổ biến. Khi nhận dữ liệu từ tệp tin, API hoặc biểu mẫu do người dùng nhập vào, thông tin ngày tháng thường tồn tại ở dạng chuỗi (string). Để thực hiện các phép toán thời gian, so sánh hoặc định dạng lại, bạn cần chuyển đổi các chuỗi này thành đối tượng datetime.

Dưới đây là hướng dẫn chi tiết các cách phổ biến để chuyển đổi chuỗi thành datetime trong Python.

1. Sử dụng phương thức datetime.strptime()

Phương thức strptime() (string parse time) thuộc module tích hợp datetime. Đây là cách tiêu chuẩn khi bạn đã biết trước chính xác định dạng của chuỗi ngày tháng.

from datetime import datetime

# Chuỗi ngày tháng đầu vào
date_string = "2026-06-02 14:30:00"

# Khai báo định dạng tương ứng
date_format = "%Y-%m-%d %H:%M:%S"

# Thực hiện chuyển đổi
date_object = datetime.strptime(date_string, date_format)

print("Kết quả:", date_object)
print("Kiểu dữ liệu:", type(date_object))

Các mã định dạng phổ biến bao gồm:

  • %Y: Năm 4 chữ số (ví dụ: 2026)
  • %m: Tháng 2 chữ số (01 đến 12)
  • %d: Ngày 2 chữ số (01 đến 31)
  • %H: Giờ 24 giờ (00 đến 23)
  • %M: Phút (00 đến 59)
  • %S: Giây (00 đến 59)

2. Sử dụng datetime.fromisoformat() (Python 3.7+)

Nếu chuỗi đầu vào tuân theo định dạng chuẩn ISO 8601 (ví dụ: YYYY-MM-DD hoặc YYYY-MM-DDTHH:MM:SS), bạn có thể dùng fromisoformat(). Cách này giúp code gọn gàng hơn vì không cần truyền chuỗi định dạng thủ công.

from datetime import datetime

# Chuỗi ngày tháng chuẩn ISO 8601
iso_string = "2026-06-02T14:30:00"

# Chuyển đổi trực tiếp
date_object = datetime.fromisoformat(iso_string)

print("Kết quả ISO:", date_object)

3. Sử dụng thư viện dateutil.parser

Trong nhiều trường hợp, dữ liệu đầu vào có định dạng không cố định hoặc phức tạp. Thư viện python-dateutil cung cấp bộ phân tích cú pháp linh hoạt, có thể tự động nhận diện hầu hết các chuẩn ngày tháng mà không cần khai báo format.

Trước tiên, bạn cần cài đặt thư viện:

pip install python-dateutil

Sau đó sử dụng hàm parse():

from dateutil import parser

# Các định dạng chuỗi khác nhau
str_1 = "Jun 2, 2026 2:30 PM"
str_2 = "2026/06/02"

# Tự động phân tích thành datetime
dt_1 = parser.parse(str_1)
dt_2 = parser.parse(str_2)

print("Kết quả 1:", dt_1)
print("Kết quả 2:", dt_2)

Tóm tắt lựa chọn

  • Sử dụng strptime() khi bạn muốn đảm bảo tính chính xác tuyệt đối và biết rõ cấu trúc chuỗi.
  • Sử dụng fromisoformat() khi làm việc với các hệ thống REST API hoặc dữ liệu chuẩn ISO.
  • Sử dụng dateutil.parser khi phải xử lý dữ liệu thô từ nhiều nguồn không đồng nhất.

Ngày phát hành: 02/06/2026
Nguồn: www.digitalocean.com