Strptime Python

Tôi đang viết một chương trình mà bước đầu tiên là chia tên tệp thành hai thành phần. Các tập tin có định dạng. 12080103_20220809191000.nc trong đó số trước dấu gạch dưới là tên tệp và chuỗi sau là ngày [2022/08/09 19. 10. 00 trong trường hợp này]

Tôi đang chia nhỏ tập tin như sau

filename = os.path.basename[pathname]
sn_file = filename.split["_"]
file_date = dt.datetime.strptime[sn_file[1], "%Y%m%d%H%M%S.nc"]
sn=sn_file[0]

Tuy nhiên, điều này gây ra lỗi. ValueError: time data '12070069' does not match format '%Y%m%d%H%M%S.nc' cho thấy bằng cách nào đó chuỗi ký tự đầu tiên bị lẫn lộn với chuỗi ký tự thứ hai

Một thẻ đã tồn tại với tên chi nhánh được cung cấp. Nhiều lệnh Git chấp nhận cả tên thẻ và tên nhánh, vì vậy việc tạo nhánh này có thể gây ra hành vi không mong muốn. Bạn có chắc chắn muốn tạo nhánh này không?

Trong hướng dẫn này, chúng ta sẽ xem cách phân tích một chuỗi thành một ngày giờ bằng cách sử dụng

from datetime import datetime

# convert yyyy-mm-dd string to date object
dt_object = datetime.strptime["2021/06/27 09:15:32", "%Y/%m/%d %H:%M:%S"].date[]
print[dt_object]

# Output 2021-06-27
8 với các mã định dạng ngày tiêu chuẩn khác nhau có sẵn trong Python. Ngoài ra, chúng ta sẽ thấy các phương thức tương tự có sẵn trong các mô-đun khác để chuyển đổi một chuỗi thành đối tượng
from datetime import datetime

# convert yyyy-mm-dd string to date object
dt_object = datetime.strptime["2021/06/27 09:15:32", "%Y/%m/%d %H:%M:%S"].date[]
print[dt_object]

# Output 2021-06-27
9 hoặc
d_object = datetime.strptime["2021/06/27", "%Y/%m/%d"].date[]
0

Mục lục

Các bước để chuyển đổi chuỗi thành ngày giờ trong Python

Trong một số trường hợp, ngày và giờ có thể được chuyển thành đối tượng chuỗi. Để chuyển đổi một chuỗi thành một đối tượng

d_object = datetime.strptime["2021/06/27", "%Y/%m/%d"].date[]
1, chúng ta có thể sử dụng hàm
from datetime import datetime

# convert yyyy-mm-dd string to date object
dt_object = datetime.strptime["2021/06/27 09:15:32", "%Y/%m/%d %H:%M:%S"].date[]
print[dt_object]

# Output 2021-06-27
8 của mô-đun datetime

Ví dụ: bạn có thể cần chuyển đổi một chuỗi số như 13-05-2021 thành đối tượng
d_object = datetime.strptime["2021/06/27", "%Y/%m/%d"].date[]
1. hoặc bạn muốn chuyển đổi chuỗi đại diện cho các ngày như Thứ Hai, ngày 13 tháng 5 năm 2021 thành đối tượng
d_object = datetime.strptime["2021/06/27", "%Y/%m/%d"].date[]
1

Các bước dưới đây cho thấy cách chuyển đổi một chuỗi đại diện cho một ngày thành một đối tượng ngày giờ

  1. Nhập mô-đun ngày giờ

    Mô-đun datetime của Python cung cấp các hàm xử lý nhiều chức năng phức tạp liên quan đến ngày và giờ
    Nhập lớp

    d_object = datetime.strptime["2021/06/27", "%Y/%m/%d"].date[]
    1 bằng cách sử dụng câu lệnh
    d_object = datetime.strptime["2021/06/27", "%Y/%m/%d"].date[]
    6

  2. Sử dụng hàm strptime[] của lớp datetime

    Sử dụng

    d_object = datetime.strptime["2021/06/27", "%Y/%m/%d"].date[]
    7 để chuyển đổi một chuỗi đã cho thành một đối tượng
    d_object = datetime.strptime["2021/06/27", "%Y/%m/%d"].date[]
    1 theo
    d_object = datetime.strptime["2021/06/27", "%Y/%m/%d"].date[]
    9 tương ứng
    Các mã định dạng là các chỉ thị tiêu chuẩn để đề cập đến định dạng của chuỗi để phân tích cú pháp. Ví dụ: Mã định dạng
    from datetime import datetime
    
    # Convert string to datetime.time object
    time_obj = datetime.strptime["12/06/2021 09:15:32", "%d/%m/%Y %H:%M:%S"].time[]
    print[time_obj]
    
    # Output 09:15:32
    0 dành cho
    from datetime import datetime
    
    # Convert string to datetime.time object
    time_obj = datetime.strptime["12/06/2021 09:15:32", "%d/%m/%Y %H:%M:%S"].time[]
    print[time_obj]
    
    # Output 09:15:32
    1

  3. Sử dụng hàm strptime[] của mô-đun thời gian

    Sử dụng bước này nếu bạn muốn chuyển đổi một chuỗi thành một đối tượng

    d_object = datetime.strptime["2021/06/27", "%Y/%m/%d"].date[]
    0. Sử dụng hàm
    from datetime import datetime
    
    # Convert string to datetime.time object
    time_obj = datetime.strptime["12/06/2021 09:15:32", "%d/%m/%Y %H:%M:%S"].time[]
    print[time_obj]
    
    # Output 09:15:32
    3. Hàm này chuyển đổi thời gian ở định dạng chuỗi thành đối tượng
    d_object = datetime.strptime["2021/06/27", "%Y/%m/%d"].date[]
    0 ở định dạng
    from datetime import datetime
    
    # Convert string to datetime.time object
    time_obj = datetime.strptime["12/06/2021 09:15:32", "%d/%m/%Y %H:%M:%S"].time[]
    print[time_obj]
    
    # Output 09:15:32
    5

strptime[] để chuyển đổi chuỗi thành DateTime

Thí dụ. Phân tích chuỗi thành ngày giờ

cú pháp

datetime.strptime[date_string, format]

Hãy để chúng tôi xem ví dụ về nơi chúng tôi có một chuỗi biểu thị ngày và giờ ở định dạng chuẩn [

from datetime import datetime

# Convert string to datetime.time object
time_obj = datetime.strptime["12/06/2021 09:15:32", "%d/%m/%Y %H:%M:%S"].time[]
print[time_obj]

# Output 09:15:32
6]

from datetime import datetime

# Date String in dd/mm/yyyy HH:MM:SS format
dt_string = "12/06/2021 09:15:32"

# Convert string to datetime object
dt_object = datetime.strptime[dt_string, "%d/%m/%Y %H:%M:%S"]
print[dt_object]

# Output 2021-06-12 09:15:32

Tham khảo định dạng Python Ngày giờ sử dụng strftime[] để chuyển đổi một

d_object = datetime.strptime["2021/06/27", "%Y/%m/%d"].date[]
1 thành chuỗi

Đối tượng chuỗi đến ngày

  • Đầu tiên, chuyển đổi một chuỗi thành một đối tượng ngày giờ bằng cách sử dụng hàm
    from datetime import datetime
    
    # convert yyyy-mm-dd string to date object
    dt_object = datetime.strptime["2021/06/27 09:15:32", "%Y/%m/%d %H:%M:%S"].date[]
    print[dt_object]
    
    # Output 2021-06-27
    
    8
  • Sử dụng hàm
    from datetime import datetime
    
    # Convert string to datetime.time object
    time_obj = datetime.strptime["12/06/2021 09:15:32", "%d/%m/%Y %H:%M:%S"].time[]
    print[time_obj]
    
    # Output 09:15:32
    9 để chỉ trích xuất đối tượng
    from datetime import datetime
    
    # convert yyyy-mm-dd string to date object
    dt_object = datetime.strptime["2021/06/27 09:15:32", "%Y/%m/%d %H:%M:%S"].date[]
    print[dt_object]
    
    # Output 2021-06-27
    
    9 từ thể hiện datetime

Thí dụ

from datetime import datetime

# convert yyyy-mm-dd string to date object
dt_object = datetime.strptime["2021/06/27 09:15:32", "%Y/%m/%d %H:%M:%S"].date[]
print[dt_object]

# Output 2021-06-27

Ghi chú. Nếu một chuỗi đại diện cho ngày không có thời gian, chỉ sử dụng mã định dạng

t_object = datetime.strptime["11:45:23", "%H:%M:%S"].time[]
1

d_object = datetime.strptime["2021/06/27", "%Y/%m/%d"].date[]

Chuỗi thành đối tượng
d_object = datetime.strptime["2021/06/27", "%Y/%m/%d"].date[]
0

Ngoài ra, bạn có thể sử dụng lớp

t_object = datetime.strptime["11:45:23", "%H:%M:%S"].time[]
3 để chuyển đổi chuỗi chứa thời gian thành đối tượng
d_object = datetime.strptime["2021/06/27", "%Y/%m/%d"].date[]
0

  • Đầu tiên, chuyển đổi một chuỗi thành một đối tượng
    d_object = datetime.strptime["2021/06/27", "%Y/%m/%d"].date[]
    1
  • Sử dụng hàm
    t_object = datetime.strptime["11:45:23", "%H:%M:%S"].time[]
    6 để chỉ trích xuất đối tượng
    d_object = datetime.strptime["2021/06/27", "%Y/%m/%d"].date[]
    0 từ thể hiện datetime
from datetime import datetime

# Convert string to datetime.time object
time_obj = datetime.strptime["12/06/2021 09:15:32", "%d/%m/%Y %H:%M:%S"].time[]
print[time_obj]

# Output 09:15:32

Ghi chú. Nếu một chuỗi đại diện cho thời gian không có ngày, chỉ sử dụng mã định dạng

t_object = datetime.strptime["11:45:23", "%H:%M:%S"].time[]
8

t_object = datetime.strptime["11:45:23", "%H:%M:%S"].time[]

Chuỗi tới đối tượng
d_object = datetime.strptime["2021/06/27", "%Y/%m/%d"].date[]
0 sử dụng Mô-đun thời gian

Chúng ta có thể sử dụng phương thức

time.strptime[string[, format]]
0[] của mô-đun thời gian để chuyển đổi thời gian ở định dạng chuỗi thành một đối tượng thời gian ở định dạng
from datetime import datetime

# Convert string to datetime.time object
time_obj = datetime.strptime["12/06/2021 09:15:32", "%d/%m/%Y %H:%M:%S"].time[]
print[time_obj]

# Output 09:15:32
5

cú pháp

time.strptime[string[, format]]

Hãy xem ví dụ về một chuỗi đề cập đến thời gian ở định dạng giờ-phút-giây

time.strptime[string[, format]]
2

Thí dụ

import time

# time hours-minutes-seconds format
time_string = "09-15-09"
format_codes = "%H-%M-%S"

time_obj = time.strptime[time_string, format_codes]
print["Time Object", time_obj]
print[type[time_obj]]

đầu ra

Time Object time.struct_time[tm_year=1900, tm_mon=1, tm_mday=1, tm_hour=9, tm_min=15, tm_sec=9, tm_wday=0, tm_yday=1, tm_isdst=-1]

Làm thế nào
from datetime import datetime

# convert yyyy-mm-dd string to date object
dt_object = datetime.strptime["2021/06/27 09:15:32", "%Y/%m/%d %H:%M:%S"].date[]
print[dt_object]

# Output 2021-06-27
8 hoạt động?

Phương thức này về cơ bản chuyển đổi chuỗi thành đối tượng datetime theo định dạng

Ghi chú. Trong trường hợp đối số chuỗi được truyền cho phương thức

from datetime import datetime

# convert yyyy-mm-dd string to date object
dt_object = datetime.strptime["2021/06/27 09:15:32", "%Y/%m/%d %H:%M:%S"].date[]
print[dt_object]

# Output 2021-06-27
8 không khớp với định dạng được chỉ định, thì một _
time.strptime[string[, format]]
5 sẽ được đưa ra.  

Ngoại lệ sẽ có thông báo lỗi hiển thị định dạng không khớp hoặc dữ liệu thừa trong chuỗi. Chúng ta có thể bắt lỗi bằng cách xử lý ngoại lệ bên trong khối

time.strptime[string[, format]]
6t

from datetime import datetime

birthday = '23-02-2021 09:13:00'
try:
    datetime_object = datetime.strptime[birthday, '%d-%m-%Y']
except ValueError as message:
    print['A value error is raised because :', message]

đầu ra

from datetime import datetime

# Date String in dd/mm/yyyy HH:MM:SS format
dt_string = "12/06/2021 09:15:32"

# Convert string to datetime object
dt_object = datetime.strptime[dt_string, "%d/%m/%Y %H:%M:%S"]
print[dt_object]

# Output 2021-06-12 09:15:32
0

from datetime import datetime

# convert yyyy-mm-dd string to date object
dt_object = datetime.strptime["2021/06/27 09:15:32", "%Y/%m/%d %H:%M:%S"].date[]
print[dt_object]

# Output 2021-06-27
8 Mã định dạng

from datetime import datetime

# convert yyyy-mm-dd string to date object
dt_object = datetime.strptime["2021/06/27 09:15:32", "%Y/%m/%d %H:%M:%S"].date[]
print[dt_object]

# Output 2021-06-27
8 lấy một số chỉ thị tiêu chuẩn để đề cập đến định dạng của chuỗi để phân tích cú pháp. Bảng sau đây cung cấp tóm tắt các chỉ thị có sẵn cho hàm
from datetime import datetime

# convert yyyy-mm-dd string to date object
dt_object = datetime.strptime["2021/06/27 09:15:32", "%Y/%m/%d %H:%M:%S"].date[]
print[dt_object]

# Output 2021-06-27
8

Cùng một bộ chỉ thị được chia sẻ giữa cả hai phương thức

from datetime import datetime

# convert yyyy-mm-dd string to date object
dt_object = datetime.strptime["2021/06/27 09:15:32", "%Y/%m/%d %H:%M:%S"].date[]
print[dt_object]

# Output 2021-06-27
8 và
import time

# time hours-minutes-seconds format
time_string = "09-15-09"
format_codes = "%H-%M-%S"

time_obj = time.strptime[time_string, format_codes]
print["Time Object", time_obj]
print[type[time_obj]]
1

Bây giờ chúng ta có thể thấy nhiều kết hợp hơn với các ví dụ để hiểu rõ hơn về các chỉ thị. Mã định dạng dưới đây hoạt động trên tất cả các nền tảng với triển khai C tiêu chuẩn

Chỉ thịMô tảVí dụ_______43_______2Ngày trong tháng dưới dạng số thập phân không đệm. CN, Mon, …, Sat [en_US];
Vì vậy, Mo, …, Sa [de_DE]______43_______3Tháng của năm dưới dạng số thập phân không đệm. Chủ Nhật, Thứ Hai, …, Thứ Bảy [en_US];
Sonntag, Montag, …, Samstag [de_DE]
import time

# time hours-minutes-seconds format
time_string = "09-15-09"
format_codes = "%H-%M-%S"

time_obj = time.strptime[time_string, format_codes]
print["Time Object", time_obj]
print[type[time_obj]]
4Một năm có thế kỷ ở định dạng bốn chữ số0001, 2021, … , 9999
import time

# time hours-minutes-seconds format
time_string = "09-15-09"
format_codes = "%H-%M-%S"

time_obj = time.strptime[time_string, format_codes]
print["Time Object", time_obj]
print[type[time_obj]]
5Một năm không có thế kỷ ở định dạng hai chữ số01, 21, …, 31
import time

# time hours-minutes-seconds format
time_string = "09-15-09"
format_codes = "%H-%M-%S"

time_obj = time.strptime[time_string, format_codes]
print["Time Object", time_obj]
print[type[time_obj]]
6Tên đầy đủ của một ngày trong tuần theo tên của ngôn ngữ
Chủ Nhật, …, Thứ Bảy [en_US];
Sonntag, …, Samstag [de_DE]
import time

# time hours-minutes-seconds format
time_string = "09-15-09"
format_codes = "%H-%M-%S"

time_obj = time.strptime[time_string, format_codes]
print["Time Object", time_obj]
print[type[time_obj]]
7Tên viết tắt của một ngày trong tuần là tên viết tắt của ngôn ngữ. CN, …, Sat [en_US];
Vì vậy, …, Sa [de_DE]_______43_______8Tên đầy đủ của tháng theo tên địa phươngJan, …, December [en_US];
Januar, …, Dezember [de_DE]
import time

# time hours-minutes-seconds format
time_string = "09-15-09"
format_codes = "%H-%M-%S"

time_obj = time.strptime[time_string, format_codes]
print["Time Object", time_obj]
print[type[time_obj]]
9Tên ngắn của tháng là tên viết tắt của ngôn ngữ. Tháng 1, …, Tháng 12 [en_US];
Jan, …, Dez [de_DE]
Time Object time.struct_time[tm_year=1900, tm_mon=1, tm_mday=1, tm_hour=9, tm_min=15, tm_sec=9, tm_wday=0, tm_yday=1, tm_isdst=-1]
0Giờ [đồng hồ 24 giờ] dưới dạng số thập phân không đệm. 01, 02, … , 23
Time Object time.struct_time[tm_year=1900, tm_mon=1, tm_mday=1, tm_hour=9, tm_min=15, tm_sec=9, tm_wday=0, tm_yday=1, tm_isdst=-1]
1Giờ [đồng hồ 12 giờ] dưới dạng số thập phân không đệm. 01, 02, …, 12_______44_______2 Ngôn ngữ tương đương với AM hoặc PM. AM, PM [en_US];
sáng, chiều [de_DE]
Time Object time.struct_time[tm_year=1900, tm_mon=1, tm_mday=1, tm_hour=9, tm_min=15, tm_sec=9, tm_wday=0, tm_yday=1, tm_isdst=-1]
3Phút dưới dạng số thập phân không đệm. 00, 01, …, 59
Time Object time.struct_time[tm_year=1900, tm_mon=1, tm_mday=1, tm_hour=9, tm_min=15, tm_sec=9, tm_wday=0, tm_yday=1, tm_isdst=-1]
4Thứ hai dưới dạng số thập phân không đệm. 00, 01, …, 59
Time Object time.struct_time[tm_year=1900, tm_mon=1, tm_mday=1, tm_hour=9, tm_min=15, tm_sec=9, tm_wday=0, tm_yday=1, tm_isdst=-1]
5Micro giây dưới dạng số thập phân, được đệm bằng 0 ở bên trái. 000000, 000001, …, 999999
Time Object time.struct_time[tm_year=1900, tm_mon=1, tm_mday=1, tm_hour=9, tm_min=15, tm_sec=9, tm_wday=0, tm_yday=1, tm_isdst=-1]
6UTC offset ở dạng 
Time Object time.struct_time[tm_year=1900, tm_mon=1, tm_mday=1, tm_hour=9, tm_min=15, tm_sec=9, tm_wday=0, tm_yday=1, tm_isdst=-1]
7 [chuỗi trống nếu đối tượng là ngây thơ]. [trống], +0000, -0400, +1030, +063415, -030712. 345216
Time Object time.struct_time[tm_year=1900, tm_mon=1, tm_mday=1, tm_hour=9, tm_min=15, tm_sec=9, tm_wday=0, tm_yday=1, tm_isdst=-1]
8Tên múi giờ [chuỗi trống nếu đối tượng là ngây thơ]
[trống], UTC, GMT
Time Object time.struct_time[tm_year=1900, tm_mon=1, tm_mday=1, tm_hour=9, tm_min=15, tm_sec=9, tm_wday=0, tm_yday=1, tm_isdst=-1]
9Ngày trong năm dưới dạng số thập phân không đệm. 001, 002, …, 366_______49_______0Số tuần của năm [Chủ nhật là ngày đầu tiên của tuần] dưới dạng số thập phân không đệm. Tất cả các ngày trong một năm mới trước Chủ nhật đầu tiên được coi là trong tuần 0. 00, 01, …, 53
from datetime import datetime

birthday = '23-02-2021 09:13:00'
try:
    datetime_object = datetime.strptime[birthday, '%d-%m-%Y']
except ValueError as message:
    print['A value error is raised because :', message]
1Số tuần của năm [Thứ Hai là ngày đầu tuần] dưới dạng số thập phân. Tất cả các ngày trong năm mới trước ngày thứ Hai đầu tiên được coi là trong tuần 0. 00, 01, …, 53
from datetime import datetime

birthday = '23-02-2021 09:13:00'
try:
    datetime_object = datetime.strptime[birthday, '%d-%m-%Y']
except ValueError as message:
    print['A value error is raised because :', message]
2Đại diện ngày và giờ thích hợp của ngôn ngữ. Thứ ba 16 tháng 8 21. 30. 00 1988 [vi_Hoa Kỳ];
Di 16 Thg8 21. 30. 00 1988 [de_DE]____49_______3Mô tả ngày thích hợp của ngôn ngữ. 16/08/88 [Không có];
16/08/1988 [en_US];
16. 08. 1988 [de_DE]____49_______4Mô tả thời gian thích hợp của địa phương. 21. 30. 00 [vi_US];
21. 30. 00 [de_DE]
from datetime import datetime

birthday = '23-02-2021 09:13:00'
try:
    datetime_object = datetime.strptime[birthday, '%d-%m-%Y']
except ValueError as message:
    print['A value error is raised because :', message]
5Chữ thường 
from datetime import datetime

birthday = '23-02-2021 09:13:00'
try:
    datetime_object = datetime.strptime[birthday, '%d-%m-%Y']
except ValueError as message:
    print['A value error is raised because :', message]
6 ký tự. %strptime[] Mã định dạng ngày

Chuỗi có tên ngày và tháng thành ngày giờ

Chúng ta có thể phân tích một chuỗi có tên ngày trong tuần đầy đủ hoặc viết tắt và tên tháng đầy đủ hoặc viết tắt thành một đối tượng

d_object = datetime.strptime["2021/06/27", "%Y/%m/%d"].date[]
1 bằng cách sử dụng các mã định dạng sau

  • import time
    
    # time hours-minutes-seconds format
    time_string = "09-15-09"
    format_codes = "%H-%M-%S"
    
    time_obj = time.strptime[time_string, format_codes]
    print["Time Object", time_obj]
    print[type[time_obj]]
    6. Trả về tên đầy đủ của ngày trong tuần. Giống như, Thứ Hai, Thứ Ba
  • import time
    
    # time hours-minutes-seconds format
    time_string = "09-15-09"
    format_codes = "%H-%M-%S"
    
    time_obj = time.strptime[time_string, format_codes]
    print["Time Object", time_obj]
    print[type[time_obj]]
    7. Trả về tên viết tắt của ngày trong tuần [Ba ký tự đầu tiên. ]. Thích, thứ hai, thứ ba
  • import time
    
    # time hours-minutes-seconds format
    time_string = "09-15-09"
    format_codes = "%H-%M-%S"
    
    time_obj = time.strptime[time_string, format_codes]
    print["Time Object", time_obj]
    print[type[time_obj]]
    8. Trả về tên đầy đủ của tháng. Giống như, tháng sáu, tháng ba
  • import time
    
    # time hours-minutes-seconds format
    time_string = "09-15-09"
    format_codes = "%H-%M-%S"
    
    time_obj = time.strptime[time_string, format_codes]
    print["Time Object", time_obj]
    print[type[time_obj]]
    9. Trả về tên viết tắt của tháng [Ba ký tự đầu tiên. ]. Như, Mar, Jun

ví dụ 1. Chuỗi có tên đầy đủ ngày và tháng

from datetime import datetime

# Date String in dd/mm/yyyy HH:MM:SS format
dt_string = "12/06/2021 09:15:32"

# Convert string to datetime object
dt_object = datetime.strptime[dt_string, "%d/%m/%Y %H:%M:%S"]
print[dt_object]

# Output 2021-06-12 09:15:32
1

ví dụ 2. Chuỗi có tên ngày và tháng viết tắt

from datetime import datetime

# Date String in dd/mm/yyyy HH:MM:SS format
dt_string = "12/06/2021 09:15:32"

# Convert string to datetime object
dt_object = datetime.strptime[dt_string, "%d/%m/%Y %H:%M:%S"]
print[dt_object]

# Output 2021-06-12 09:15:32
2

Phân tích chuỗi với AM/PM thành Datetime

Chúng ta có thể phân tích cú pháp một chuỗi có chi tiết AM/PM thành đối tượng

d_object = datetime.strptime["2021/06/27", "%Y/%m/%d"].date[]
1 bằng cách sử dụng chỉ thị định dạng
Time Object time.struct_time[tm_year=1900, tm_mon=1, tm_mday=1, tm_hour=9, tm_min=15, tm_sec=9, tm_wday=0, tm_yday=1, tm_isdst=-1]
2

from datetime import datetime

# Date String in dd/mm/yyyy HH:MM:SS format
dt_string = "12/06/2021 09:15:32"

# Convert string to datetime object
dt_object = datetime.strptime[dt_string, "%d/%m/%Y %H:%M:%S"]
print[dt_object]

# Output 2021-06-12 09:15:32
3

Phân tích chuỗi với múi giờ thành ngày giờ

Chúng ta có thể chuyển đổi một chuỗi có thông tin offset được biểu thị dưới dạng timedelta [+/-] hoặc với tên múi giờ thành đối tượng

d_object = datetime.strptime["2021/06/27", "%Y/%m/%d"].date[]
1 bằng cách sử dụng các chỉ thị định dạng
Time Object time.struct_time[tm_year=1900, tm_mon=1, tm_mday=1, tm_hour=9, tm_min=15, tm_sec=9, tm_wday=0, tm_yday=1, tm_isdst=-1]
6 và
Time Object time.struct_time[tm_year=1900, tm_mon=1, tm_mday=1, tm_hour=9, tm_min=15, tm_sec=9, tm_wday=0, tm_yday=1, tm_isdst=-1]
8

Đọc. Làm việc với Múi giờ trong Python

Thí dụ

from datetime import datetime

# Date String in dd/mm/yyyy HH:MM:SS format
dt_string = "12/06/2021 09:15:32"

# Convert string to datetime object
dt_object = datetime.strptime[dt_string, "%d/%m/%Y %H:%M:%S"]
print[dt_object]

# Output 2021-06-12 09:15:32
4

đầu ra

from datetime import datetime

# Date String in dd/mm/yyyy HH:MM:SS format
dt_string = "12/06/2021 09:15:32"

# Convert string to datetime object
dt_object = datetime.strptime[dt_string, "%d/%m/%Y %H:%M:%S"]
print[dt_object]

# Output 2021-06-12 09:15:32
5

Phân tích chuỗi với ngôn ngữ thành DateTime

Chúng ta có thể hiểu từ các chỉ thị rằng phương thức

from datetime import datetime

# convert yyyy-mm-dd string to date object
dt_object = datetime.strptime["2021/06/27 09:15:32", "%Y/%m/%d %H:%M:%S"].date[]
print[dt_object]

# Output 2021-06-27
8 hỗ trợ cả ngôn ngữ Hoa Kỳ en_US và ngôn ngữ Đức de_DE

Thí dụ

from datetime import datetime

# Date String in dd/mm/yyyy HH:MM:SS format
dt_string = "12/06/2021 09:15:32"

# Convert string to datetime object
dt_object = datetime.strptime[dt_string, "%d/%m/%Y %H:%M:%S"]
print[dt_object]

# Output 2021-06-12 09:15:32
6

Chuỗi phân tích ở định dạng ngày ISO 8601

Chúng tôi có thể phân tích cú pháp các đối tượng chuỗi có ngày ở định dạng ISO 8601 bằng cách sử dụng phương pháp

from datetime import datetime

# convert yyyy-mm-dd string to date object
dt_object = datetime.strptime["2021/06/27 09:15:32", "%Y/%m/%d %H:%M:%S"].date[]
print[dt_object]

# Output 2021-06-27
8 trong đó phần bù có thể được phân tích cú pháp bằng cách sử dụng chỉ thị định dạng
Time Object time.struct_time[tm_year=1900, tm_mon=1, tm_mday=1, tm_hour=9, tm_min=15, tm_sec=9, tm_wday=0, tm_yday=1, tm_isdst=-1]
6

from datetime import datetime

# Date String in dd/mm/yyyy HH:MM:SS format
dt_string = "12/06/2021 09:15:32"

# Convert string to datetime object
dt_object = datetime.strptime[dt_string, "%d/%m/%Y %H:%M:%S"]
print[dt_object]

# Output 2021-06-12 09:15:32
7

đầu ra

from datetime import datetime

# Date String in dd/mm/yyyy HH:MM:SS format
dt_string = "12/06/2021 09:15:32"

# Convert string to datetime object
dt_object = datetime.strptime[dt_string, "%d/%m/%Y %H:%M:%S"]
print[dt_object]

# Output 2021-06-12 09:15:32
8

Chuyển đổi Chuỗi thành Dấu thời gian

  • Đầu tiên, sử dụng phương thức
    from datetime import datetime
    
    # convert yyyy-mm-dd string to date object
    dt_object = datetime.strptime["2021/06/27 09:15:32", "%Y/%m/%d %H:%M:%S"].date[]
    print[dt_object]
    
    # Output 2021-06-27
    
    8 để chuyển đổi một đối tượng chuỗi thành
    d_object = datetime.strptime["2021/06/27", "%Y/%m/%d"].date[]
    1
  • Tiếp theo, sử dụng hàm
    from datetime import datetime
    
    # Date String in dd/mm/yyyy HH:MM:SS format
    dt_string = "12/06/2021 09:15:32"
    
    # Convert string to datetime object
    dt_object = datetime.strptime[dt_string, "%d/%m/%Y %H:%M:%S"]
    print[dt_object]
    
    # Output 2021-06-12 09:15:32
    12 để trích xuất thông tin dấu thời gian

Thí dụ

from datetime import datetime

# Date String in dd/mm/yyyy HH:MM:SS format
dt_string = "12/06/2021 09:15:32"

# Convert string to datetime object
dt_object = datetime.strptime[dt_string, "%d/%m/%Y %H:%M:%S"]
print[dt_object]

# Output 2021-06-12 09:15:32
9

Phân tích chuỗi ngày với các thư viện Python khác

Mặc dù

from datetime import datetime

# convert yyyy-mm-dd string to date object
dt_object = datetime.strptime["2021/06/27 09:15:32", "%Y/%m/%d %H:%M:%S"].date[]
print[dt_object]

# Output 2021-06-27
8 của mô-đun datetime xử lý hầu hết các định dạng ngày, nhưng vẫn có một số nhược điểm, như được đề cập bên dưới

  • Chúng tôi cần nhập nhiều mô-đun như
    d_object = datetime.strptime["2021/06/27", "%Y/%m/%d"].date[]
    1,
    d_object = datetime.strptime["2021/06/27", "%Y/%m/%d"].date[]
    0,
    from datetime import datetime
    
    # Date String in dd/mm/yyyy HH:MM:SS format
    dt_string = "12/06/2021 09:15:32"
    
    # Convert string to datetime object
    dt_object = datetime.strptime[dt_string, "%d/%m/%Y %H:%M:%S"]
    print[dt_object]
    
    # Output 2021-06-12 09:15:32
    16,
    from datetime import datetime
    
    # Date String in dd/mm/yyyy HH:MM:SS format
    dt_string = "12/06/2021 09:15:32"
    
    # Convert string to datetime object
    dt_object = datetime.strptime[dt_string, "%d/%m/%Y %H:%M:%S"]
    print[dt_object]
    
    # Output 2021-06-12 09:15:32
    17, v.v. để xử lý một số định dạng ngày tháng phức tạp
  • Xử lý các múi giờ ngây thơ và nhận thức rất phức tạp
  • Phân tích cú pháp các thông tin và định dạng ngôn ngữ khác nhau như ISO 8601 dễ bị lỗi

Phân tích chuỗi thành DateTime bằng dateutil

Mô-đun dateutil cung cấp trình phân tích cú pháp để phân tích cú pháp chuỗi ngày cung cấp trình phân tích cú pháp chung để phân tích hầu hết tất cả các định dạng ngày/giờ đã biết có sẵn

Ghi chú. Đây là mô-đun của bên thứ ba, bạn cần cài đặt riêng bằng lệnh pip

from datetime import datetime

# convert yyyy-mm-dd string to date object
dt_object = datetime.strptime["2021/06/27 09:15:32", "%Y/%m/%d %H:%M:%S"].date[]
print[dt_object]

# Output 2021-06-27
0

Trong trường hợp ngày tháng không rõ ràng, tôi. e;

  • Nếu AM hoặc PM không được chỉ định, đồng hồ 24 giờ được giả định;
  • Trong trường hợp một chuỗi ngày được truyền mà không có thông tin múi giờ, thì một đối tượng ngây thơ sẽ được tạo
  • Nếu bất kỳ thông tin nào khác bị thiếu, thì giá trị tham số mặc định của đối tượng
    from datetime import datetime
    
    # Date String in dd/mm/yyyy HH:MM:SS format
    dt_string = "12/06/2021 09:15:32"
    
    # Convert string to datetime object
    dt_object = datetime.strptime[dt_string, "%d/%m/%Y %H:%M:%S"]
    print[dt_object]
    
    # Output 2021-06-12 09:15:32
    18 sẽ được sử dụng. Nếu điều này dẫn đến số ngày vượt quá số ngày hợp lệ mỗi tháng, thì giá trị sẽ giảm về cuối tháng
from datetime import datetime

# convert yyyy-mm-dd string to date object
dt_object = datetime.strptime["2021/06/27 09:15:32", "%Y/%m/%d %H:%M:%S"].date[]
print[dt_object]

# Output 2021-06-27
1

đầu ra

from datetime import datetime

# convert yyyy-mm-dd string to date object
dt_object = datetime.strptime["2021/06/27 09:15:32", "%Y/%m/%d %H:%M:%S"].date[]
print[dt_object]

# Output 2021-06-27
2

Phân tích chuỗi thành DateTime bằng mũi tên

Arrow là một thư viện Python khác giúp tạo các đối tượng ngày và giờ với ít lần nhập hơn và ít mã hơn. API này cho phép kết nối các lỗ hổng trong việc tạo, định dạng và sửa đổi ngày, giờ và dấu thời gian

Mũi tên giúp phân tích các định dạng chuỗi ngày và đơn giản hóa việc tạo UTC theo mặc định hoặc các đối tượng nhận biết múi giờ

Trước tiên, chúng ta cần cài đặt mũi tên bằng cách sử dụng

from datetime import datetime

# Date String in dd/mm/yyyy HH:MM:SS format
dt_string = "12/06/2021 09:15:32"

# Convert string to datetime object
dt_object = datetime.strptime[dt_string, "%d/%m/%Y %H:%M:%S"]
print[dt_object]

# Output 2021-06-12 09:15:32
19

from datetime import datetime

# convert yyyy-mm-dd string to date object
dt_object = datetime.strptime["2021/06/27 09:15:32", "%Y/%m/%d %H:%M:%S"].date[]
print[dt_object]

# Output 2021-06-27
3

Thí dụ

Sử dụng phương pháp

from datetime import datetime

# Date String in dd/mm/yyyy HH:MM:SS format
dt_string = "12/06/2021 09:15:32"

# Convert string to datetime object
dt_object = datetime.strptime[dt_string, "%d/%m/%Y %H:%M:%S"]
print[dt_object]

# Output 2021-06-12 09:15:32
20 để phân tích một chuỗi thành ngày

from datetime import datetime

# convert yyyy-mm-dd string to date object
dt_object = datetime.strptime["2021/06/27 09:15:32", "%Y/%m/%d %H:%M:%S"].date[]
print[dt_object]

# Output 2021-06-27
4

Phân tích chuỗi thành ngày bằng Maya

Maya là một thư viện Python khác chủ yếu để xử lý các ngôn ngữ khác nhau trong các hệ thống khác nhau. Điều này đặc biệt hữu ích khi cùng một mã phải được chuyển sang các hệ điều hành ở các múi giờ khác nhau

Chúng ta cần cài đặt Maya bằng lệnh pip sau

from datetime import datetime

# convert yyyy-mm-dd string to date object
dt_object = datetime.strptime["2021/06/27 09:15:32", "%Y/%m/%d %H:%M:%S"].date[]
print[dt_object]

# Output 2021-06-27
5

Để phân tích một đối tượng chuỗi thành ngày, chúng ta cần sử dụng phương thức

from datetime import datetime

# Date String in dd/mm/yyyy HH:MM:SS format
dt_string = "12/06/2021 09:15:32"

# Convert string to datetime object
dt_object = datetime.strptime[dt_string, "%d/%m/%Y %H:%M:%S"]
print[dt_object]

# Output 2021-06-12 09:15:32
21[] và phương thức
from datetime import datetime

# Date String in dd/mm/yyyy HH:MM:SS format
dt_string = "12/06/2021 09:15:32"

# Convert string to datetime object
dt_object = datetime.strptime[dt_string, "%d/%m/%Y %H:%M:%S"]
print[dt_object]

# Output 2021-06-12 09:15:32
22 để tạo đối tượng ngày giờ

strptime trong Python là gì?

Phương thức thời gian Python strptime[] phân tích chuỗi biểu thị thời gian theo định dạng . Giá trị trả về là struct_time như được trả về bởi gmtime[] hoặc localtime[].

Làm cách nào để sử dụng strptime trong Python?

Phương thức lớp strptime[] nhận hai đối số. chuỗi [được chuyển thành datetime] .
%d - Thể hiện ngày trong tháng. Thí dụ. 01, 02,. , 31
%B - Tên đầy đủ của tháng. Thí dụ. tháng Giêng, tháng Hai, v.v.
%Y - Năm có bốn chữ số. Thí dụ. 2018, 2019, v.v.

strptime và strftime trong Python là gì?

strptime là viết tắt của "thời gian phân tích cú pháp" trong đó strftime là của "thời gian định dạng" . Đó là, strptime đối lập với strftime mặc dù chúng sử dụng, thuận tiện, cùng một đặc tả định dạng.

Làm cách nào để lấy dấu thời gian trong Python?

Để biết cụ thể thời gian hiện tại, bạn có thể sử dụng phương thức strftime[] và truyền vào đó chuỗi ”%H. %M. %S” đại diện cho giờ, phút và giây .

Chủ Đề