Trong hướng dẫn nhanh này về Python datetime
mô-đun, bạn sẽ học cách phân tích ngày tháng, trích xuất thông tin có ý nghĩa từ ngày tháng, xử lý timedelta
đối tượng và nhiều hơn nữa.
Vì vậy, không có gì khó chịu, hãy bắt đầu đếm thời gian với Python!
Hầu hết các ngôn ngữ lập trình đều cung cấp thư viện để dễ dàng xử lý ngày tháng. Python cung cấp khả năng mạnh mẽ datetime
mô-đun với nhiều chức năng và tài liệu rõ ràng giúp việc phân tích ngày trở nên dễ dàng.
Bài viết này liệt kê một số chức năng quan trọng nhất từ mô-đun này, cách nó có thể được áp dụng cho các tình huống trong thế giới thực và một số điều phức tạp cần chú ý khi sử dụng nó.
Cách chuyển đổi dấu thời gian thành datetime
Đối tượng sử dụng strptime()
Ngày có thể cung cấp cho chúng ta rất nhiều thông tin như tháng, năm, ngày, ngày trong tuần và đó có phải là ngày lễ hay không. strptime()
chuyển đổi dấu thời gian ở dạng chuỗi thành datetime
đối tượng cung cấp cho chúng ta rất nhiều chức năng bổ sung. Hàm này mong đợi một chuỗi và định dạng của dấu thời gian.
from datetime import datetime
d = datetime.strptime("21-02-2021 18:46:00", "%d-%m-%Y %H:%M:%S")
Chuỗi 21-02-2021 18:46:00 được chuyển đổi thành chuỗi phù hợp datetime
sử dụng định dạng được chỉ định. Một số chỉ thị hữu ích nhất là:
%d
cho ngày trong tháng dưới dạng số thập phân không đệm như 01, 02, 03%m
cho tháng dưới dạng số thập phân không đệm%Y
cho năm với thế kỷ dưới dạng số thập phân%H
cho đồng hồ 24 giờ với giá trị giờ không đệm%M
trong những phút không có đệm và%S
trong giây không đệm.
Bộ sưu tập các công cụ xác định định dạng này đủ để giúp bạn bắt đầu. Để có thêm tùy chọn, bạn có thể duyệt qua các tài liệu được liên kết tại đây.
Cách lấy giá trị dấu thời gian hiện tại
Giả sử bạn muốn lưu trữ dữ liệu vào cơ sở dữ liệu với dấu thời gian hiện tại làm khóa. Để có được dấu thời gian hiện tại, bạn chỉ cần 1 dòng mã:
#Obtain the current timestamp
from datetime import datetime
print(datetime.now())
Làm thế nào để biết hôm nay là ngày gì
Giả sử chúng ta cần biết ngày trong tuần. Chúng ta có thể sử dụng weekday()
hàm trả về một mã số cho ngày trong tuần, từ 0 đến 6, trong đó 0 đại diện cho Thứ Hai, 1 đại diện cho Thứ Ba, v.v.
Đầu ra có thể được sử dụng với câu lệnh chuyển đổi để chuyển đổi mã số thành tên ngày bắt buộc hoặc bạn có thể sử dụng danh sách như sau:

Cách tạo danh sách ngày từ một ngày nhất định
Giả sử chúng ta biết có bao nhiêu người đã đặt mua pizza cho đến hôm nay và chúng ta quan tâm đến việc dự đoán doanh số bán pizza trong tuần tới.
Vì vậy, với ngày hôm nay, chúng tôi cần tất cả các ngày cho tuần tới để phân tích theo yêu cầu của chúng tôi. Nhưng chúng ta không muốn lo lắng về năm nhuận, năm thế kỷ, v.v. Đây là một cách để làm điều đó.

Làm thế nào để làm việc với timedelta
Các đối tượng
Như tên cho thấy, timedelta
các đối tượng đại diện cho một khoảng thời gian giữa hai ngày. Giả sử chúng ta có hai ngày và chúng ta cần biết khoảng thời gian đã trôi qua giữa chúng.

timedelta
các đối tượng yêu cầu một số đối số như ngày, giây, micro giây, mili giây, phút, giờ và tuần. Giá trị mặc định cho tất cả bằng không. Hãy tìm hiểu sự khác biệt về số giờ giữa 2 ngày.

Có chuyện gì? timedelta
không lưu trữ nội bộ bất cứ thứ gì ngoại trừ ngày, giây và micro giây, vì vậy chúng tôi cần chuyển đổi chúng như hình bên dưới:

Cách lấy biểu diễn chuỗi ngày từ datetime
hoặc Đối tượng ngày sử dụng strftime

Nếu chúng ta in datetime
đối tượng, ngày được in ở định dạng ISO. sử dụng strftime
chúng tôi chuyển một chuỗi định dạng để kiểm soát biểu diễn chuỗi của ngày.
Phần kết luận
Nếu bạn đã đọc đến đây, xin chúc mừng – bạn đã học cách phân tích ngày theo định dạng đã chỉ định, lấy giá trị dấu thời gian hiện tại, lấy ngày trong tuần, lấy danh sách ngày, sử dụng đối tượng timedelta và lấy ngày dưới dạng chuỗi trở lại từ các đối tượng. Chà!
Đây là một bộ sưu tập được biên soạn dựa trên vô số tìm kiếm trên internet của riêng tôi và sự xem xét vô tận các tài liệu chính thức.
Cảm ơn bạn đã dành chút thời gian trong lịch trình bận rộn của mình để đọc nó. Hy vọng bạn thích đọc nó nhiều như tôi thích viết nó. Chúc bạn vui vẻ khi phân tích ngày tháng trong Python!