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
Khám phá hàm Lag và Lead trong SQL

Trong phân tích dữ liệu, hàm LAG() và LEAD() sẽ là công cụ hỗ trợ đắc lực cho việc so sánh giá trị hiện tại với giá trị liền trước hoặc liền

Xem thêm
[RECAP] Training Top 20 – myInsight – MDS Datathon Challenge 2025 – CLB Toán ứng dụng & Khoa học dữ liệu (MDS) – Đại học Ngoại Thương CSII TP. HCM (FTU2)

Tối ngày 18/05/2025, buổi training dành riêng cho Top 20 đội thi xuất sắc nhất cuộc thi myInsight – MDS Datathon Challenge 2025 đã diễn ra vô cùng thành công thông

Xem thêm
Khám Phá Tính Năng Nhóm và Phân Nhóm Dữ Liệu trong Power BI

Trong quá trình xây dựng biểu đồ, Power BI Desktop sẽ tự động tổng hợp dữ liệu thành các nhóm dựa trên các giá trị có trong tập dữ liệu gốc.

Xem thêm
[RECAP] Chuỗi Workshop MARKET-A – CLB Chứng khoán SCUE – Đại học Kinh tế TP. HCM (UEH)

Chiều ngày 15/05/2025 vừa rồi, UniTrain đã hân hạnh có mặt với vai trò là Nhà tài trợ Bạc tại buổi Workshop 2: OPTIVEST thuộc chuỗi chương trình Workshop MARKET-A do

Xem thêm