Trong bài viết này, chúng ta sẽ thảo luận về cách chuyển đổi chuỗi định dạng khác thành đối tượng ngày giờ hoặc ngày hoặc giờ trong Python Show
Mục lục
Trong Python, mô-đun datetime cung cấp hàm strptime() để chuyển đổi một chuỗi thành đối tượng datetime. Hãy có một cái nhìn tổng quan về chức năng này Cú pháp của ngày giờ. strptime()datetime.strptime(datetime_str, format): Thông số
trả lại
Lưu ý quan trọng
Bây giờ hãy xem một số ví dụ mà chúng ta sẽ sử dụng hàm strptime() này để chuyển đổi chuỗi thành đối tượng ngày giờ, Chuyển đổi chuỗi (‘DD/MM/YY HH. MM. SS ‘) vào đối tượng datetimeGiả sử chúng ta có thông tin ngày và giờ ở định dạng chuỗi 'DD/MM/YY HH. MM. SS’ như ’25/12/20 11. 12. 13′. Chúng ta có thể chuyển đổi chuỗi này thành đối tượng ngày giờ bằng cách chuyển đúng định dạng trong strptime i. e. ‘%d/%m/%y %H. %M. %S'. Ví dụ, from datetime import datetime datetime_str = '25/12/20 11:12:13' # Convert String ( ‘DD/MM/YY HH:MM:SS ‘) to datetime object datetime_obj = datetime.strptime(datetime_str, '%d/%m/%y %H:%M:%S') print(datetime_obj) print('Type of the object:') print(type(datetime_obj)) đầu ra 2020-12-25 11:12:13 Type of the object: <class 'datetime.datetime'> Chúng tôi đã chuyển đổi chuỗi thành đối tượng datetime Chuỗi định dạng mà chúng ta đã truyền vào strptime(), giúp nó hiểu được bố cục thông tin trong đối tượng chuỗi. Chuỗi định dạng bao gồm các mã định dạng như,
Sau đó, nó kiểm tra cách tổ chức các mã định dạng này trong chuỗi, chẳng hạn như chúng được phân tách bằng ký tự nào và vị trí của chúng là gì. Dựa vào đó, nó phân tích cú pháp chuỗi và xây dựng một đối tượng ngày giờ Hãy xem một số ví dụ khác, Chuyển đổi chuỗi (‘MM/DD/YY HH. MM. SS ‘) vào đối tượng datetimeTrong ví dụ này, chúng tôi sẽ thay đổi thứ tự mã định dạng từ ví dụ trước, from datetime import datetime datetime_str = '12/25/2020 11:12:13' # Convert String ( ‘MM/DD/YY HH:MM:SS ‘) to datetime object datetime_obj = datetime.strptime(datetime_str, '%m/%d/%Y %H:%M:%S') print(datetime_obj) print('Type of the object:') print(type(datetime_obj)) đầu ra 2020-12-25 11:12:13 Type of the object: <class 'datetime.datetime'> Chúng tôi đã chuyển đổi chuỗi thành đối tượng datetime Chuyển đổi chuỗi thành datetime và xử lý ValueErrorNếu chuỗi ngày giờ và chuỗi định dạng được truyền trong hàm strptime() không tương thích, thì nó có thể gây ra lỗi ValueError. Ví dụ, from datetime import datetime datetime_str = '25/12/2020 11:12:13' datetime_obj = datetime.strptime(datetime_str, '%d-%m-%Y %H:%M:%S') đầu ra ValueError: time data '25/12/2020 11:12:13' does not match format '%d-%m-%Y %H:%M:%S' Ở đây chúng tôi chuỗi chứa thông tin ngày và giờ ở định dạng 'MM/DD/YY HH. MM. SS', nhưng chúng tôi đã chuyển chuỗi định dạng thành '%d-%m-%Y %H. %M. %S'. Cả chuỗi ngày giờ và định dạng đều không tương thích, do đó, nó đã gây ra lỗi ValueError Để xử lý loại tình huống này, hãy chuyển đúng định dạng hoặc sử dụng lệnh try/ngoại trừ. Ví dụ, from datetime import datetime datetime_str = '25/12/2020 11:12:13' try: datetime_obj = datetime.strptime(datetime_str, '%d-%m-%Y %H:%M:%S') print(type(datetime_obj)) print(datetime_obj) except ValueError as e: print(e) đầu ra ________số 8con trăn. Chuyển đổi chuỗi thành ngày giờ – ( định dạng chuỗi yyyy-mm-dd hh-mm-ss)Mã định dạng %Y đại diện cho năm có 4 chữ số như 2019, 2020, v.v. Chúng ta sẽ sử dụng nó trong chuỗi định dạng, from datetime import datetime # python string to datetime yyyy-mm-dd hh-mm-ss datetime_str = '2020-12-24 11-12-13' datetime_obj = datetime.strptime(datetime_str, '%Y-%m-%d %H-%M-%S') print(type(datetime_obj)) print(datetime_obj) đầu ra from datetime import datetime datetime_str = '25/12/20 11:12:13' # Convert String ( ‘DD/MM/YY HH:MM:SS ‘) to datetime object datetime_obj = datetime.strptime(datetime_str, '%d/%m/%y %H:%M:%S') print(datetime_obj) print('Type of the object:') print(type(datetime_obj))0 Chúng tôi đã chuyển đổi chuỗi thành đối tượng datetime con trăn. Chuyển đổi chuỗi thành ngày giờ – ( định dạng chuỗi MMM DD YYYY HH. MM. SS)Mã định dạng %b đại diện cho tháng có 3 ký tự như tháng 1, tháng 2, v.v. Chúng ta sẽ sử dụng nó trong chuỗi định dạng, from datetime import datetime datetime_str = '25/12/20 11:12:13' # Convert String ( ‘DD/MM/YY HH:MM:SS ‘) to datetime object datetime_obj = datetime.strptime(datetime_str, '%d/%m/%y %H:%M:%S') print(datetime_obj) print('Type of the object:') print(type(datetime_obj))1 đầu ra from datetime import datetime datetime_str = '25/12/20 11:12:13' # Convert String ( ‘DD/MM/YY HH:MM:SS ‘) to datetime object datetime_obj = datetime.strptime(datetime_str, '%d/%m/%y %H:%M:%S') print(datetime_obj) print('Type of the object:') print(type(datetime_obj))0 Chúng tôi đã chuyển đổi chuỗi thành đối tượng datetime con trăn. Chuyển đổi chuỗi thành ngày giờ bằng mili giây- ( định dạng chuỗi DD/MM/YY HH. MM. SS. FFFFFF)Mã định dạng %f đại diện cho mili giây trong 6 chữ số. Chúng ta sẽ sử dụng nó trong chuỗi định dạng, from datetime import datetime datetime_str = '25/12/20 11:12:13' # Convert String ( ‘DD/MM/YY HH:MM:SS ‘) to datetime object datetime_obj = datetime.strptime(datetime_str, '%d/%m/%y %H:%M:%S') print(datetime_obj) print('Type of the object:') print(type(datetime_obj))3 đầu ra from datetime import datetime datetime_str = '25/12/20 11:12:13' # Convert String ( ‘DD/MM/YY HH:MM:SS ‘) to datetime object datetime_obj = datetime.strptime(datetime_str, '%d/%m/%y %H:%M:%S') print(datetime_obj) print('Type of the object:') print(type(datetime_obj))4 Chúng tôi đã chuyển đổi chuỗi thành đối tượng ngày giờ với thông tin mili giây con trăn. Chuyển đổi chuỗi thành datetime với múi giờMã định dạng %z đại diện cho thông tin múi giờ như +05. 30 hoặc -02. 00, v.v. Chúng ta sẽ sử dụng nó trong chuỗi định dạng, from datetime import datetime datetime_str = '25/12/20 11:12:13' # Convert String ( ‘DD/MM/YY HH:MM:SS ‘) to datetime object datetime_obj = datetime.strptime(datetime_str, '%d/%m/%y %H:%M:%S') print(datetime_obj) print('Type of the object:') print(type(datetime_obj))5 đầu ra from datetime import datetime datetime_str = '25/12/20 11:12:13' # Convert String ( ‘DD/MM/YY HH:MM:SS ‘) to datetime object datetime_obj = datetime.strptime(datetime_str, '%d/%m/%y %H:%M:%S') print(datetime_obj) print('Type of the object:') print(type(datetime_obj))6 Chúng tôi đã chuyển đổi chuỗi thành đối tượng ngày giờ với thông tin múi giờ con trăn. Chuyển đổi chuỗi thành đối tượng ngàySử dụng strptime(), chúng ta có thể chuyển đổi một chuỗi ngày giờ thành đối tượng ngày giờ. Sau đó, bằng cách gọi hàm date() trên đối tượng datetime, chúng ta có thể có một đối tượng ngày tháng. Ví dụ, from datetime import datetime datetime_str = '25/12/20 11:12:13' # Convert String ( ‘DD/MM/YY HH:MM:SS ‘) to datetime object datetime_obj = datetime.strptime(datetime_str, '%d/%m/%y %H:%M:%S') print(datetime_obj) print('Type of the object:') print(type(datetime_obj))7 đầu ra from datetime import datetime datetime_str = '25/12/20 11:12:13' # Convert String ( ‘DD/MM/YY HH:MM:SS ‘) to datetime object datetime_obj = datetime.strptime(datetime_str, '%d/%m/%y %H:%M:%S') print(datetime_obj) print('Type of the object:') print(type(datetime_obj))8 con trăn. Chuyển đổi chuỗi thành đối tượng thời gianSử dụng strptime(), chúng ta có thể chuyển đổi một chuỗi ngày giờ thành đối tượng ngày giờ. Sau đó, bằng cách gọi hàm time() trên đối tượng datetime, chúng ta có thể có một đối tượng thời gian. Ví dụ, from datetime import datetime datetime_str = '25/12/20 11:12:13' # Convert String ( ‘DD/MM/YY HH:MM:SS ‘) to datetime object datetime_obj = datetime.strptime(datetime_str, '%d/%m/%y %H:%M:%S') print(datetime_obj) print('Type of the object:') print(type(datetime_obj))9 đầu ra 2020-12-25 11:12:13 Type of the object: <class 'datetime.datetime'>0 Tóm lược Sử dụng hàm strptime() của mô-đun datetime trong Python, chúng ta có thể chuyển đổi một chuỗi thành đối tượng ngày giờ hoặc ngày tháng hoặc thời gian. Sử dụng mã định dạng, chúng tôi có thể xử lý các định dạng chuỗi khác nhau của thông tin ngày và giờ Cách đổi ngày từ MM dd yyyy sang ddBiểu thức chính quy Python. Bài tập-25 có lời giải . Giải pháp mẫu. - Mã Python. nhập lại def change_date_format(dt). trở lại. sub(r'(\d{4})-(\d{1,2})-(\d{1,2})', '\\3-\\2-\\1', dt) dt1 . ",dt1) print("Ngày mới theo định dạng DD-MM-YYYY. ",change_date_format(dt1)) Cách chuyển đổi ddĐầu tiên, chọn các ô chứa ngày, sau đó nhấp chuột phải và chọn Định dạng ô. Chọn Tùy chỉnh trong Tab Số, sau đó nhập 'dd-mmm-yyyy' trong hộp văn bản Nhập, sau đó nhấp vào được . |