Chuyển dd mm/yyyy thành datetime python

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

Mục lục

  • Cú pháp của ngày giờ. strptime()
  • Chuyển đổi chuỗi (‘DD/MM/YY HH. MM. SS ‘) thành đối tượng datetime trong Python
  • Chuyển đổi chuỗi (‘MM/DD/YY HH. MM. SS ‘) thành đối tượng datetime trong Python
  • Chuyển chuỗi thành datetime và xử lý ValueError trong Python
  • Chuyển đổi chuỗi thành ngày giờ – ( định dạng chuỗi yyyy-mm-dd hh-mm-ss) trong Python
  • Chuyển đổi chuỗi thành ngày giờ – ( định dạng chuỗi MMM DD YYYY HH. MM. SS) bằng Python
  • 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) bằng Python
  • Chuyển đổi chuỗi thành datetime với múi giờ trong Python
  • Chuyển đổi chuỗi thành đối tượng ngày trong Python
  • Chuyển đổi chuỗi thành đối tượng thời gian trong Python

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ố

  • datetime_str. Chuỗi chứa thông tin ngày giờ
  • định dạng. Chuỗi giải thích định dạng trong đó datetime_str bao gồm thông tin ngày và giờ
    • Dựa trên định dạng được cung cấp, strptime() chuyển đổi datetime_str thành một đối tượng datetime

trả lại

  • Nếu datetime_str chứa thông tin ngày và giờ ở định dạng đúng, tôi. e. , căn chỉnh với chuỗi định dạng, nó trả về đối tượng ngày giờ

Lưu ý quan trọng

  • Nếu có sự không khớp trong định dạng được chỉ định và chuỗi ngày giờ thực tế, nó sẽ dẫn đến ValueError

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 datetime

Giả 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ư,

  • %d – Đại diện cho ngày trong tháng như 1,2,3…. ,30,31
  • %m – Đại diện cho số tháng trong năm như 1,2,3…. ,11,12
  • %y – Biểu thị năm bằng hai chữ số như 19, 20, v.v.
  • %H – Đại diện cho giờ như 01,02,…24
  • %M – Đại diện cho các phút như 01,02,…60
  • %S – Đại diện cho các giây như 01,02,…60

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 datetime

Trong 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ý ValueError

Nế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ố 8

con 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ày

Sử 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 gian

Sử 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 dd

Biể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 .