Chuyển đổi sang định dạng ngày trong python

tất cả các đối tượng date, datetime và time đều hỗ trợ phương thức strftime(format) để tạo một chuỗi biểu thị thời gian dưới sự kiểm soát của một chuỗi định dạng rõ ràng

Ngược lại, ngày giờ. Phương thức lớp strptime() tạo một đối tượng datetime từ một chuỗi đại diện cho ngày và giờ và một chuỗi định dạng tương ứng

Bảng bên dưới cung cấp so sánh cấp cao của strftime() so với strptime()

Chuyển đổi sang định dạng ngày trong python
Chuyển đổi sang định dạng ngày trong python
Cách sử dụng strptime để chuyển đổi chuỗi python thành ngày

Làm cách nào để bạn chuyển đổi Chuỗi Python thành Ngày?

Để chuyển đổi một chuỗi Python thành một ngày (hoặc ngày giờ), chúng ta có thể sử dụng phương thức datetime 

from datetime import datetime

date_string = '2021-12-31 15:37'
datetime = datetime.strptime(date_string, '%Y-%m-%d %H:%M')

print(datetime)

# Returns: 2021-12-31 15:37:00
3

Hãy xem làm thế nào chúng ta có thể làm điều này

  1. Chúng tôi nhập đối tượng 
    from datetime import datetime
    
    date_string = '2021-12-31 15:37'
    datetime = datetime.strptime(date_string, '%Y-%m-%d %H:%M')
    
    print(datetime)
    
    # Returns: 2021-12-31 15:37:00
    2 từ mô-đun 
    from datetime import datetime
    
    date_string = '2021-12-31 15:37'
    datetime = datetime.strptime(date_string, '%Y-%m-%d %H:%M')
    
    print(datetime)
    
    # Returns: 2021-12-31 15:37:00
    2
  2. Chúng tôi chuyển chuỗi vào phương thức 
    from datetime import datetime
    
    date_string = '2021-12-31 15:37'
    datetime = datetime.strptime(date_string, '%Y-%m-%d %H:%M')
    
    print(datetime)
    
    # Returns: 2021-12-31 15:37:00
    3, cũng như định dạng của nó
  3. Chúng tôi gán cái này cho một biến mới và in nó ra
from datetime import datetime

date_string = '2021-12-31 15:37'
datetime = datetime.strptime(date_string, '%Y-%m-%d %H:%M')

print(datetime)

# Returns: 2021-12-31 15:37:00

Thoạt nhìn, các mã định dạng này có vẻ hơi buồn cười. Bạn sẽ tìm hiểu tất cả về một số ví dụ khác nhau trong phần tiếp theo

Mã định dạng của Datetime là gì?

Mô-đun 

from datetime import datetime

date_string = '2021-12-31 15:37'
datetime = datetime.strptime(date_string, '%Y-%m-%d %H:%M')

print(datetime)

# Returns: 2021-12-31 15:37:00
2 sử dụng một mã định dạng cụ thể để chuyển đổi một chuỗi thành một ngày giờ hoặc một ngày giờ thành một chuỗi. Trong danh sách bên dưới, bạn sẽ tìm hiểu một số mã định dạng quan trọng nhất mà bạn sẽ gặp phải

  • datetime.strptime(date_string=, format=)
    10. Ngày trong tuần trong tên viết tắt của địa phương (e. g. , Thứ hai)
  • datetime.strptime(date_string=, format=)
    11. Ngày trong tuần trong tên đầy đủ của ngôn ngữ (e. g. , Thứ hai)
  • datetime.strptime(date_string=, format=)
    12. tháng là tên viết tắt của ngôn ngữ (e. g. , Tháng mười hai)
  • datetime.strptime(date_string=, format=)
    13. tháng dưới dạng tên đầy đủ của ngôn ngữ (e. g. , Tháng 12)
  • datetime.strptime(date_string=, format=)
    14. tháng dưới dạng số thập phân không đệm (e. g. , 01)
  • datetime.strptime(date_string=, format=)
    15. ngày dưới dạng số thập phân không đệm (e. g. , 09)
  • datetime.strptime(date_string=, format=)
    16Y. năm không có thế kỷ (e. g. , 2021)
  • datetime.strptime(date_string=, format=)
    16y. năm với thế kỷ (e. g. , 21)

Ví dụ: nếu bạn được cung cấp một chuỗi trông như thế này.

datetime.strptime(date_string=, format=)
18, bạn sẽ viết_______119

Điều quan trọng cần biết ở đây là các ký tự như dấu phẩy hoặc dấu hai chấm cũng cần được đưa vào. Điều này có thể cảm thấy hơi không tự nhiên nhưng hãy coi mã định dạng là trình giữ chỗ

Để xem các mã định dạng còn lại, hãy xem tài liệu chính thức tại đây

Chuyển đổi một cột Pandas thành datetime với strptime

Pandas có một công cụ tích hợp rất hữu ích có tên là 

datetime.strptime(date_string=, format=)
10 để chuyển đổi một cột thành ngày giờ. Bạn có thể tìm hiểu chi tiết về nó trong bài viết này tại đây

Hãy tải khung dữ liệu này và xem nó trông như thế nào

datetime.strptime(date_string=, format=)
1

Điều này trả về

datetime.strptime(date_string=, format=)
1

Bây giờ, hãy sử dụng phương pháp để chuyển đổi cột 

datetime.strptime(date_string=, format=)
11 thành ngày giờ

datetime.strptime(date_string=, format=)
5

Tuy nhiên, nếu bạn muốn sử dụng phương thức datetime 

datetime.strptime(date_string=, format=)
12, bạn có thể áp dụng hàm này cho toàn bộ cột. Hãy ghi nhớ, điều này không hiệu quả và phương pháp Pandas
datetime.strptime(date_string=, format=)
10 hiệu quả hơn nhiều. Tìm hiểu thêm một chút về phương pháp Pandas 
datetime.strptime(date_string=, format=)
14 trong bài đăng của tôi tại đây

datetime.strptime(date_string=, format=)
9

Sự kết luận

Trong bài đăng này, bạn đã học cách chuyển đổi chuỗi Python thành ngày hoặc ngày giờ. Bạn đã học cách hoạt động của hàm datetime strptime, mã định dạng ngày giờ là gì, cũng như cách xử lý chuyển đổi chuỗi thành ngày trong Pandas