× Giới thiệu Lịch khai giảng Tin tức Sản phẩm học viên

Chuyển đổi giữa chuỗi và ngày giờ trong Python

19/07/2022 10:46

ong Python có một thư viện tích hợp để biểu diễn ngày giờ , sử dụng thư viện này bạn có thể thực hiện các phép toán so sánh hoặc số học (thêm và xóa) trên các ngày giờ khác nhau.

 

Có nhiều định dạng viết ngày hoặc giờ khác nhau, riêng ngày thì có các định dạng phổ biến như 18/07/2022 , 2022–07–18, 18/07/22 . Tương tự với các biểu diễn thời gian bao gồm 4:45:00 chiều , 16:45 , v.v. Trong Python có một thư viện tích hợp để biểu diễn ngày giờ , sử dụng thư viện này bạn có thể thực hiện các phép toán so sánh hoặc số học (thêm và xóa) trên các ngày giờ khác nhau.

Bài viết này sẽ giới thiệu cách chuyển đổi từ datetime sang string và ngược lại bằng cách sử dụng các phương thức tích hợp sẵn trong datetimethư viện.

 

Chuyển đổi ngày giờ thành chuỗi

Ví dụ, chúng ta hãy lấy ngày và giờ hiện tại bằng cách sử dụng now()hàm trong datetimelớp dưới datetimethư viện.

from datetime import datetime
now = datetime.now() # current date and time
now
>>> datetime.datetime(2022, 7, 18, 16, 50, 24, 470847)

Kết quả trả về là một đối tượng datetime bao gồm năm, tháng, ngày hiện tại, tiếp theo là giờ, phút, giây và micro giây. Bạn có thể lấy thuộc tính khác nhau bằng cách truy cập trực tiếp như sau:

print(f"date: {now.date}")
print(f"year: {now.year}")
print(f"month: {now.month}")
print(f"day: {now.day}")
print(f"time: {now.time}")
print(f"hour: {now.hour}")
print(f"minute: {now.minute}")
print(f"second: {now.second}")
print(f"microsecond: {now.microsecond}")
>>> date: <built-in method date of datetime.datetime object at 0x00000222767FADB0>
>>> year: 2022
>>> month: 7
>>> day: 18
>>> time: <built-in method time of datetime.datetime object at 0x00000222767FADB0>
>>> hour: 16
>>> minute: 50
>>> second: 24
>>> microsecond: 545047

Bây giờ, để chuyển đổi các đối tượng datetime sang định dạng chuỗi khác bằng cách sử dụng phương pháp .strftime(format):

Có rất nhiều tùy chọn khác được đề cập trong các ví dụ trên, danh sách mã định dạng đầy đủ như sau:

Phiên bản văn bản để sao chép và dán dễ dàng hơn:

 

Chuyển đổi chuỗi thành ngày giờ

Việc chuyển đổi từ chuỗi sang datetime hoạt động hoàn toàn ngược lại với chiều ngược lại. Sử dụng strptime()phương thức dưới datetimelớp, với một chuỗi cụ thể và biểu diễn định dạng của nó, bạn có thể nhận được datetimeđối tượng tương đương.

Cú pháp:, datetime.strptime(date_string, format)tuân formattheo các đại diện tương tự như danh sách mã ở trên, chẳng hạn như “% d /% m /% Y,% H:% M:% S”.

from datetime import datetime
print(datetime.strptime("18/07/2022, 16:50:24", "%d/%m/%Y, %H:%M:%S"))
>>> 2022-07-18 16:50:24
print(datetime.strptime("18 Jul, 2022, 16:50:24", "%d %b, %Y, %H:%M:%S"))
>>> 2022-07-18 16:50:24
print(datetime.strptime("18/7/22, 4:56:33.635 PM", "%d/%m/%y, %H:%M:%S.%f %p"))
>>> 2022-07-18 04:56:33.635000