Làm việc với dữ liệu thời gian datetime trong Python

Việc xử lý dữ liệu thời gian là một kỹ năng quan trọng đối với các lập trình viên và nhà phân tích dữ liệu. Sử dụng module datetime trong Python, bạn có thể thực hiện các thao tác phức tạp với thời gian một cách dễ dàng và hiệu quả. Trong bài viết này, UniTrain sẽ hướng dẫn bạn cách làm việc với datetime trong Python, từ các thao tác cơ bản đến những ứng dụng thực tế.

  1. Tổng quan về datetime trong Python

Python cung cấp module datetime để làm việc với dữ liệu thời gian. Module này bao gồm các lớp chính như date, time, datetime và timedelta. Những lớp này cho phép bạn thao tác với ngày, giờ và khoảng thời gian một cách linh hoạt.

  1. Các thao tác cơ bản với datetime

Tạo đối tượng datetime

Bạn có thể tạo đối tượng datetime bằng cách sử dụng hàm datetime() của module datetime. Ví dụ:

from datetime import datetime
dt = datetime(2023, 7, 19, 12, 30, 45)
print(dt)

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

Bạn có thể lấy thời gian hiện tại bằng cách sử dụng hàm now():

current_time = datetime.now()
print(current_time)

Tạo DateTime từ chuỗi và ngược lại

Bạn có thể chuyển đổi chuỗi thành datetime và ngược lại bằng cách sử dụng strptime() và strftime():

date_str = “19/07/2023 12:30:45”
dt = datetime.strptime(date_str, “%d/%m/%Y %H:%M:%S”)
print(dt)
print(dt.strftime(“%d-%m-%Y %H:%M:%S”))
  1. Định dạng datetime

Sử dụng strftime để định dạng datetime

Hàm strftime() cho phép bạn định dạng datetime theo định dạng chuỗi mong muốn. Ví dụ:

print(dt.strftime(“%A, %d %B %Y”))

Sử dụng strptime để chuyển đổi chuỗi thành datetime

Hàm strptime() cho phép bạn chuyển đổi chuỗi thành datetime theo định dạng đã chỉ định. Ví dụ:

date_str = “19/07/2023 12:30:45”
dt = datetime.strptime(date_str, “%d/%m/%Y %H:%M:%S”)
print(dt)
  1. Các phép toán với datetime

Phép cộng và trừ với timedelta

Bạn có thể thực hiện các phép toán cộng trừ trên đối tượng datetime bằng cách sử dụng timedelta. Ví dụ:

from datetime import timedelta
new_date = dt + timedelta(days=5)
print(new_date)

So sánh giữa các đối tượng datetime

Bạn có thể so sánh các đối tượng datetime để biết trước sau hoặc bằng nhau. Ví dụ:

dt1 = datetime(2023, 7, 19, 12, 30, 45)
dt2 = datetime(2023, 7, 20, 14, 45, 30)
print(dt1 < dt2)  # True
  1. Xử lý múi giờ

Giới thiệu về module pytz

Module pytz cung cấp hỗ trợ cho các múi giờ. Bạn có thể sử dụng nó để làm việc với múi giờ trong Python.

Cách làm việc với múi giờ

Bạn có thể xác định múi giờ cho một đối tượng datetime bằng cách sử dụng pytz. Ví dụ:

import pytz
timezone = pytz.timezone(‘Asia/Ho_Chi_Minh’)
dt_with_tz = timezone.localize(dt)
print(dt_with_tz)
  1. Các ví dụ ứng dụng thực tế

Tính toán thời gian giữa hai sự kiện

Bạn có thể tính toán khoảng thời gian giữa hai sự kiện bằng cách trừ hai đối tượng datetime. Ví dụ:

duration = dt2 – dt1
print(duration)
  1. Các lỗi phổ biến khi làm việc với datetime và cách khắc phục

Xử lý lỗi định dạng chuỗi

Lỗi định dạng thường gặp khi chuyển đổi giữa chuỗi và datetime. Bạn cần đảm bảo định dạng chuỗi phù hợp với định dạng datetime.

Vấn đề về múi giờ

Làm việc với múi giờ có thể gặp nhiều khó khăn, bạn cần sử dụng pytz để đảm bảo thời gian được xử lý chính xác.

  1. Kết luận

Việc làm việc với dữ liệu thời gian trong Python là một kỹ năng quan trọng và cần thiết. Bài viết này đã giới thiệu các thao tác cơ bản và các ứng dụng thực tế để bạn có thể áp dụng vào công việc hàng ngày. Hãy tiếp tục khám phá và rèn luyện để trở thành chuyên gia trong lĩnh vực này.

Xem thêm 

Combo Khóa học Business Intelligence

Khóa học Xử lý và trực quan hóa dữ liệu với Python

Khóa học Ứng dụng SQL trong xử lý dữ liệu

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

1 + 1 = ? (Nhập Haii để trả lời đúng)

Bài viết liên quan
Hàm TRIMRANGE() – Hàm xóa giá trị trống “đỉnh” hơn cả TRIM.

Như bạn đã biết hàm TRIM() trong Excel giúp loại bỏ các ký tự trống (khoảng trắng). Tương tự vậy hàm TRIMRANGE() được sử dụng để xóa các giá trị trống khỏi một phạm vi

Xem thêm
[HOẠT ĐỘNG CỘNG ĐỒNG] Cuộc thi Financial Student Contest (FSC) mùa 13 – CLB Tài chính – Chứng khoán (SeSC) – Đại học Ngoại Thương CSII TP. HCM (FTU2)

Chiều tối ngày 13/06/2025, Chung kết cuộc thi Financial Student Contest (FSC) mùa 13 do CLB Tài chính – Chứng khoán (SeSC) thuộc Đại học Ngoại Thương CSII TP. HCM (FTU2)

Xem thêm
[HOẠT ĐỘNG CỘNG ĐỒNG] Cuộc thi myInsight – MDS Datathon Challenge 2025 – CLB Toán ứng dụng & Khoa học dữ liệu (MDS) – CSII Đại học Ngoại Thương TP. HCM (FTU2)

Chiều ngày 08/06/2025 vừa qua, cuộc thi myInsight – MDS Datarthon Challenge 2025 đã chính thức tiến đến vòng chung kết dưới sự góp mặt của top 5 đội thi xuất

Xem thêm
Cảm nhận học viên khóa Excel for Analysts

“Mình rất hài lòng về tính ứng dụng thực tế và khả năng nâng cao hiệu quả công việc của khóa học.” Anh Nguyễn Trung Hòa – nhân sự ngành Kế

Xem thêm