Kiểm tra thời gian giữa hai lần python
Python có một mô-đun ngày giờ tích hợp hỗ trợ chúng tôi giải quyết một số vấn đề liên quan đến ngày tháng. Chúng tôi chỉ nhập hai ngày với loại ngày và trừ chúng để khám phá sự khác biệt giữa hai ngày, điều này cho chúng tôi số ngày giữa hai ngày Show
cú phápCú pháp của phương thức date() trong module datetime như sau datetime.date(year, month, day) Thông số
trả lại Hàm này trả về đối tượng ngày có cùng năm, tháng và ngày. Tất cả các đối số là bắt buộc. Các đối số có thể là số nguyên, trong các phạm vi sau
Ví dụTrong mã ví dụ sau, chúng tôi xác định hai ngày mà chúng tôi muốn tìm sự khác biệt về số ngày giữa chúng. Sau đó trừ những ngày này để có được một đối tượng timedelta và kiểm tra thuộc tính ngày của đối tượng này để có được kết quả cần thiết Python cung cấp một mô-đun datetime để thao tác ngày và giờ. Nó bao gồm các lớp sau,
Bây giờ để có sự khác biệt giữa hai dấu thời gian trong python, chúng tôi sẽ sử dụng mô-đun datetime Đầu tiên chúng ta sẽ tạo các đối tượng ngày giờ bắt đầu và kết thúc từ các dấu thời gian của chuỗi. Sau đó, chúng tôi sẽ trừ các đối tượng datetime để lấy thời lượng trong datetime. đối tượng múi giờ. Sau đó, sử dụng các thuộc tính của đối tượng timedelta, chúng tôi sẽ tìm nạp số giờ ở giữa hai dấu thời gian. Hãy hiểu với một số ví dụ, Python Ví dụ 1. Nhận sự khác biệt giữa hai dấu thời gian tính bằng giờChuyển đổi dấu thời gian ở định dạng chuỗi thành đối tượng datetime. Sau đó trừ chúng và lấy đối tượng timedelta. Sử dụng hàm total_seconds() của timedelta để lấy toàn bộ thời lượng giữa hai dấu thời gian tính bằng giây, sau đó chuyển đổi thành giờ bằng cách chia cho 3600. Ví dụ, from datetime import datetime date_1 = '24/7/2021 11:13:08.230010' date_2 = '24/7/2021 11:14:18.333338' date_format_str = '%d/%m/%Y %H:%M:%S.%f' start = datetime.strptime(date_1, date_format_str) end = datetime.strptime(date_2, date_format_str) # Get interval between two timstamps as timedelta object diff = end - start # Get interval between two timstamps in hours diff_in_hours = diff.total_seconds() / 3600 print('Difference between two datetimes in hours:') print(diff_in_hours) đầu ra Difference between two datetimes in hours: 0.019473146666666667 Làm thế nào nó hoạt động? Chúng tôi đã tạo hai đối tượng ngày giờ từ hai dấu thời gian ở định dạng chuỗi, bằng cách chuyển ngày và định dạng của nó vào hàm strptime(). Sau đó, chúng tôi đã trừ hai đối tượng ngày giờ này và nhận được ngày giờ. đối tượng timedelta, đại diện cho khoảng thời gian giữa hai ngày. Lớp timedelta có hàm thành viên total_seconds(), biểu thị toàn bộ thời lượng tính bằng giây (bao gồm cả phần phân số cho đến mili giây). Chúng tôi đã sử dụng điều đó để lấy sự khác biệt giữa hai dấu thời gian tính bằng giây và sau đó chúng tôi chuyển đổi nó thành giờ bằng cách chia nó cho 3600 Python Ví dụ 2. Nhận sự khác biệt giữa hai datetimes tính bằng giờHãy xem một ví dụ khác, trong đó cả hai dấu thời gian cách nhau hơn 1 ngày, from datetime import datetime date_1 = '24/7/2021 11:13:08.230010' date_2 = '25/7/2021 11:14:18.333338' date_format_str = '%d/%m/%Y %H:%M:%S.%f' start = datetime.strptime(date_1, date_format_str) end = datetime.strptime(date_2, date_format_str) # Get interval between two timstamps as timedelta object diff = end - start # Get interval between two timstamps in hours diff_in_hours = diff.total_seconds() / 3600 print('Difference between two datetimes in hours:') print(diff_in_hours) đầu ra Difference between two datetimes in hours: 24.019473146666666 Python Ví dụ 3. Nhận sự khác biệt giữa hai dấu thời gian tính bằng giờHãy xem một ví dụ khác, trong đó cả hai dấu thời gian cách nhau hơn 2 năm, from datetime import datetime date_1 = '2/7/2021 21:55:12.230010' date_2 = '24/9/2023 11:13:08.333338' date_format_str = '%d/%m/%Y %H:%M:%S.%f' start = datetime.strptime(date_1, date_format_str) end = datetime.strptime(date_2, date_format_str) # Get interval between two timstamps as timedelta object diff = end - start # Get interval between two timstamps in hours diff_in_hours = diff.total_seconds() / 3600 print('Difference between two datetimes in hours:') print(diff_in_hours) đầu ra Difference between two datetimes in hours: 19525.298917591113 Ví dụ Python 4. Nhận sự khác biệt giữa hai datetimes tính bằng giờNếu chúng ta có các đối tượng ngày giờ hoàn chỉnh thay vì chỉ các chuỗi dấu thời gian, trong trường hợp đó, hãy xem cách tính toán sự khác biệt giữa hai ngày giờ tính bằng giờ, from datetime import datetime date_1 = datetime(2021, 7, 2, 21, 55, 12) date_2 = datetime(2021, 7, 24, 11, 13, 8) # Get interval between two timstamps as timedelta object diff = date_2 - date_1 # Get interval between two timstamps in hours diff_in_hours = diff.total_seconds() / 3600 print('Difference between two datetimes in hours:') print(diff_in_hours) đầu ra ________số 8Ví dụ Python 5. Nhận sự khác biệt giữa hai thời gian biểu tính bằng giờ bằng cách sử dụng gấu trúcGiả sử chúng ta có hai dấu thời gian ở định dạng chuỗi. Chúng ta có thể chuyển đổi chúng thành đối tượng datetime bằng pandas. hàm to_datetime(). Sau đó, chúng tôi sẽ trừ các đối tượng datetime để lấy thời lượng trong datetime. đối tượng múi giờ. Sau đó, bằng cách sử dụng các thuộc tính của đối tượng timedelta, chúng tôi sẽ tìm nạp tổng số giây ở giữa hai dấu thời gian (bao gồm cả phần phân số cho đến mili giây) rồi chia số đó cho 3600 để có thời lượng hoàn chỉnh tính bằng giờ. Ví dụ, |