Hướng dẫn python calculate time difference - python tính toán chênh lệch thời gian

Khi làm việc với ngày và thời gian trong Python, bạn sẽ thường cần tính toán chênh lệch thời gian. Trong hướng dẫn này, bạn sẽ học cách tính toán sự khác biệt giữa hai dấu thời gian tính bằng giờ, phút và giây.

Đến cuối hướng dẫn này, bạn sẽ học được:

  • Cách sử dụng mô -đun Python từ from datetime import date date1 = datetime.date(2022,3,27) print(date1) # Output: 2022-03-274 để làm việc với ngày và thời gian,
  • Đối tượng from datetime import date date1 = datetime.date(2022,3,27) print(date1) # Output: 2022-03-275 là gì và chúng hữu ích như thế nào, và
  • Tính chênh lệch thời gian giữa bất kỳ hai dấu thời gian nào trong giờ, phút và giây.

Bắt đầu nào.

Cách sử dụng mô -đun DateTime Python

Để làm việc với ngày và thời gian trong Python, bạn sẽ sử dụng mô -đun from datetime import date date1 = datetime.date(2022,3,27) print(date1) # Output: 2022-03-274. Mô -đun from datetime import date date1 = datetime.date(2022,3,27) print(date1) # Output: 2022-03-274 là một phần của thư viện tiêu chuẩn Python. Vì vậy, bạn có thể tiếp tục và nhập nó vào môi trường làm việc của bạn ngay lập tức, như thế này:

import datetime

Để tính toán chênh lệch thời gian, bạn cần tạo hai dấu thời gian khác nhau. Bạn có thể chọn tạo:

  • hai đối tượng from datetime import date date1 = datetime.date(2022,3,27) print(date1) # Output: 2022-03-278,
  • hai đối tượng from datetime import date date1 = datetime.date(2022,3,27) print(date1) # Output: 2022-03-279, hoặc
  • Một sự kết hợp của cả from datetime import date date1 = datetime.date(2022,3,27) print(date1) # Output: 2022-03-278 và ________ 19 đối tượng ____________ 14 đối tượng.

Cách tạo đối tượng ngày trong Python

Hãy cùng nhập lớp from datetime import date date1 = datetime.date(2022,3,27) print(date1) # Output: 2022-03-278 từ mô -đun DateTime. Để tạo một đối tượng ngày trong Python, bạn có thể sử dụng cú pháp chung date1 = datetime.date(2022,03,27) print(date1) # Error Message File "<ipython-input-12-6eb72084e6ce>", line 1 date1 = datetime.date(2022,03,27) ^ SyntaxError: invalid token4. Ở đây, một ví dụ về việc tạo đối tượng from datetime import date date1 = datetime.date(2022,3,27) print(date1) # Output: 2022-03-278 date1 = datetime.date(2022,03,27) print(date1) # Error Message File "<ipython-input-12-6eb72084e6ce>", line 1 date1 = datetime.date(2022,03,27) ^ SyntaxError: invalid token6:

from datetime import date date1 = datetime.date(2022,3,27) print(date1) # Output: 2022-03-27

Bạn có thể thử mã trên trình biên dịch GeekFlare Python để kiểm tra. Hoặc, cài đặt Python trên máy tính của bạn.

Như được hiển thị ở trên, khi bạn in ngày, nó được định dạng ở định dạng date1 = datetime.date(2022,03,27) print(date1) # Error Message File "<ipython-input-12-6eb72084e6ce>", line 1 date1 = datetime.date(2022,03,27) ^ SyntaxError: invalid token7 cho ngày.

Lưu ý: Hãy chắc chắn chỉ định tháng là một số nguyên mà không có bất kỳ số không hàng đầu nào. Nó có khả năng bạn đã sử dụng để thêm số 0 hàng đầu vào tháng khi viết ngày.: Be sure to specify the month as an integer without any leading zeros. It’s likely you’re used to adding a leading zero to the month when writing down dates.

Ví dụ, để chỉ định một ngày vào tháng 6, tháng thứ 6 của năm: sử dụng 6 chứ không phải 06.

Ví dụ: hãy thử chạy đoạn mã mã sau đây trong tháng đã được đề cập là date1 = datetime.date(2022,03,27) print(date1) # Error Message File "<ipython-input-12-6eb72084e6ce>", line 1 date1 = datetime.date(2022,03,27) ^ SyntaxError: invalid token8 thay vì chỉ date1 = datetime.date(2022,03,27) print(date1) # Error Message File "<ipython-input-12-6eb72084e6ce>", line 1 date1 = datetime.date(2022,03,27) ^ SyntaxError: invalid token9. Bạn sẽ thấy rằng nó ném một lỗi cú pháp như được hiển thị:

date1 = datetime.date(2022,03,27) print(date1) # Error Message File "<ipython-input-12-6eb72084e6ce>", line 1 date1 = datetime.date(2022,03,27) ^ SyntaxError: invalid token

Bây giờ, hãy xem cách tạo một đối tượng from datetime import date date1 = datetime.date(2022,3,27) print(date1) # Output: 2022-03-279 trong Python.

Cách tạo đối tượng thời gian trong Python

Để tạo một đối tượng thời gian, hãy để Lừa nhập lớp from datetime import date date1 = datetime.date(2022,3,27) print(date1) # Output: 2022-03-279. Bất kỳ đối tượng thời gian Python nào cũng có thể được tạo bằng lớp from datetime import date date1 = datetime.date(2022,3,27) print(date1) # Output: 2022-03-279 bằng cách chỉ định các thuộc tính lớp sau: from datetime import time time1 = datetime.time(13,27,45,4600) print(time1) # Output: 13:27:45.0046003, from datetime import time time1 = datetime.time(13,27,45,4600) print(time1) # Output: 13:27:45.0046004, from datetime import time time1 = datetime.time(13,27,45,4600) print(time1) # Output: 13:27:45.0046005 và from datetime import time time1 = datetime.time(13,27,45,4600) print(time1) # Output: 13:27:45.0046006.

Tuy nhiên, tất cả các thuộc tính này là tùy chọn. & NBSP; Nếu bạn không chỉ định một thuộc tính nhất định, giả sử, from datetime import time time1 = datetime.time(13,27,45,4600) print(time1) # Output: 13:27:45.0046005, nó đã được đặt thành from datetime import time time1 = datetime.time(13,27,45,4600) print(time1) # Output: 13:27:45.0046008 theo mặc định.

Đoạn mã sau đây cho thấy cách bạn có thể tạo đối tượng thời gian from datetime import time time1 = datetime.time(13,27,45,4600) print(time1) # Output: 13:27:45.0046009. Như với đối tượng from datetime import date date1 = datetime.date(2022,3,27) print(date1) # Output: 2022-03-278, bạn có thể in ra đối tượng from datetime import date date1 = datetime.date(2022,3,27) print(date1) # Output: 2022-03-279 để xem thời gian được định dạng.

from datetime import time time1 = datetime.time(13,27,45,4600) print(time1) # Output: 13:27:45.004600

Cách tạo đối tượng DateTime trong Python

Như bạn có thể thấy, đối tượng from datetime import date date1 = datetime.date(2022,3,27) print(date1) # Output: 2022-03-278 không có thông tin về thời gian. Và đối tượng from datetime import date date1 = datetime.date(2022,3,27) print(date1) # Output: 2022-03-279 không chứa thông tin về ngày.

Tuy nhiên, trong thực tế, bạn sẽ cần cả thông tin ngày và giờ. Vì vậy, nó khuyến nghị sử dụng lớp from datetime import date date1 = datetime.date(2022,3,27) print(date1) # Output: 2022-03-274 thay thế.

Bạn có thể truy cập lớp from datetime import date date1 = datetime.date(2022,3,27) print(date1) # Output: 2022-03-274 và tạo các đối tượng from datetime import date date1 = datetime.date(2022,3,27) print(date1) # Output: 2022-03-274 trong Python, như được hiển thị bên dưới:

dt1 = datetime.datetime(2022,3,27,13,27,45,46000) print(dt1) # Output: 2022-03-27 13:27:45.046000

Bây giờ, hãy tạo ra một đối tượng DateTime khác dt1 = datetime.datetime(2022,3,27,13,27,45,46000) print(dt1) # Output: 2022-03-27 13:27:45.0460007 mà không có thuộc tính from datetime import time time1 = datetime.time(13,27,45,4600) print(time1) # Output: 13:27:45.0046005. Bạn có thể thấy rằng nó được đặt thành from datetime import time time1 = datetime.time(13,27,45,4600) print(time1) # Output: 13:27:45.0046008 - giá trị mặc định.

dt2 = datetime.datetime(2022,6,30,14,28) print(dt2) # Output: 2022-06-30 14:28:00

Cho đến nay, bạn đã học được cách tạo dấu thời gian trong Python, như ngày, thời gian và dữ liệu. Bây giờ, thời gian để xem làm thế nào bạn có thể tính toán sự khác biệt giữa bất kỳ hai dấu thời gian nào.

Đi qua phần tiếp theo để tìm hiểu.

Cách sử dụng đối tượng Timedelta trong Python

Trong Python, from datetime import date date1 = datetime.date(2022,3,27) print(date1) # Output: 2022-03-275 biểu thị một khoảng thời gian. Nó có sự khác biệt giữa hai đối tượng from datetime import date date1 = datetime.date(2022,3,27) print(date1) # Output: 2022-03-278, from datetime import date date1 = datetime.date(2022,3,27) print(date1) # Output: 2022-03-279 hoặc from datetime import date date1 = datetime.date(2022,3,27) print(date1) # Output: 2022-03-274.

Nếu bạn thêm hoặc trừ hai đối tượng from datetime import date date1 = datetime.date(2022,3,27) print(date1) # Output: 2022-03-278, from datetime import date date1 = datetime.date(2022,3,27) print(date1) # Output: 2022-03-279 hoặc from datetime import date date1 = datetime.date(2022,3,27) print(date1) # Output: 2022-03-274, bạn sẽ nhận được một đối tượng from datetime import date date1 = datetime.date(2022,3,27) print(date1) # Output: 2022-03-275. Đối tượng from datetime import date date1 = datetime.date(2022,3,27) print(date1) # Output: 2022-03-275 này có các thuộc tính và phương thức hữu ích có thể giúp tính toán chênh lệch thời gian.

Hãy cùng đi trước và tính toán sự khác biệt giữa hai đối tượng from datetime import date date1 = datetime.date(2022,3,27) print(date1) # Output: 2022-03-274 dt1 = datetime.datetime(2022,3,27,13,27,45,46000) dt2 = datetime.datetime(2022,6,30,14,28) tdelta = dt2 - dt1 print(tdelta) print(type(tdelta)) # Output 95 days, 1:00:14.954000 <class 'datetime.timedelta'>0 và dt1 = datetime.datetime(2022,3,27,13,27,45,46000) print(dt1) # Output: 2022-03-27 13:27:45.0460007.

dt1 = datetime.datetime(2022,3,27,13,27,45,46000) dt2 = datetime.datetime(2022,6,30,14,28) tdelta = dt2 - dt1 print(tdelta) print(type(tdelta)) # Output 95 days, 1:00:14.954000 <class 'datetime.timedelta'>

Từ đoạn mã trên, bạn có thể thấy rằng biến dt1 = datetime.datetime(2022,3,27,13,27,45,46000) dt2 = datetime.datetime(2022,6,30,14,28) tdelta = dt2 - dt1 print(tdelta) print(type(tdelta)) # Output 95 days, 1:00:14.954000 <class 'datetime.timedelta'>2 giữ chênh lệch thời gian giữa dt1 = datetime.datetime(2022,3,27,13,27,45,46000) dt2 = datetime.datetime(2022,6,30,14,28) tdelta = dt2 - dt1 print(tdelta) print(type(tdelta)) # Output 95 days, 1:00:14.954000 <class 'datetime.timedelta'>0 và dt1 = datetime.datetime(2022,3,27,13,27,45,46000) print(dt1) # Output: 2022-03-27 13:27:45.0460007. Và loại dt1 = datetime.datetime(2022,3,27,13,27,45,46000) dt2 = datetime.datetime(2022,6,30,14,28) tdelta = dt2 - dt1 print(tdelta) print(type(tdelta)) # Output 95 days, 1:00:14.954000 <class 'datetime.timedelta'>2 được xác minh là thuộc lớp from datetime import date date1 = datetime.date(2022,3,27) print(date1) # Output: 2022-03-275 bằng cách sử dụng chức năng dt1 = datetime.datetime(2022,3,27,13,27,45,46000) dt2 = datetime.datetime(2022,6,30,14,28) tdelta = dt2 - dt1 print(tdelta) print(type(tdelta)) # Output 95 days, 1:00:14.954000 <class 'datetime.timedelta'>7 tích hợp của Python.

Bây giờ hãy để mã hóa một ví dụ khác.

Cách tìm sự khác biệt về thời gian giữa hai ngày

Hãy để một ví dụ đơn giản nhưng thú vị.

Vấn đề: Để tính toán chênh lệch thời gian giữa ngày hiện tại (hôm nay) và sinh nhật của bạn. Để làm điều này, hãy đặt ngày hôm nay là dấu thời gian đầu tiên và sinh nhật của bạn là dấu thời gian thứ hai.: To calculate the time difference between the current date (today) and your birthday.
To do this, set today as the first timestamp, and your birthday as the second timestamp.

Bước đầu tiên, hãy để Lôi tạo hai đối tượng from datetime import date date1 = datetime.date(2022,3,27) print(date1) # Output: 2022-03-274:

  • Một cho ngày hôm nay, hãy để Lôi gọi nó là dt1 = datetime.datetime(2022,3,27,13,27,45,46000) dt2 = datetime.datetime(2022,6,30,14,28) tdelta = dt2 - dt1 print(tdelta) print(type(tdelta)) # Output 95 days, 1:00:14.954000 <class 'datetime.timedelta'>9, và
  • Một cái khác cho ngày sinh nhật của bạn, hãy để Lôi gọi nó là today = datetime.datetime.now() print(today) # Sample Output: 2022-01-22 09:10:18.4895380

Lớp from datetime import date date1 = datetime.date(2022,3,27) print(date1) # Output: 2022-03-274 có phương thức today = datetime.datetime.now() print(today) # Sample Output: 2022-01-22 09:10:18.4895382 cung cấp cho bạn ngày và giờ địa phương hiện tại. Vì vậy, hãy để sử dụng nó nhận được ____ ____ 69 ngày tham khảo của chúng tôi.

today = datetime.datetime.now() print(today) # Sample Output: 2022-01-22 09:10:18.489538

Trong mã bên dưới, thay thế today = datetime.datetime.now() print(today) # Sample Output: 2022-01-22 09:10:18.4895380 bằng sinh nhật của bạn để tính thời gian còn lại cho sinh nhật của bạn trong năm nay.

Nếu bạn đang đọc điều này sau khi sinh nhật của bạn đã trôi qua, vui lòng đặt today = datetime.datetime.now() print(today) # Sample Output: 2022-01-22 09:10:18.4895380 cho sinh nhật tiếp theo của bạn.

bday = datetime.datetime(2022,8,30,11,59) print(bday) # Sample Output: 2022-08-30 11:59:00

Bước tiếp theo là tính toán today = datetime.datetime.now() print(today) # Sample Output: 2022-01-22 09:10:18.4895386 là đối tượng today = datetime.datetime.now() print(today) # Sample Output: 2022-01-22 09:10:18.4895387, như đã giải thích trước đó. Chỉ cần trừ dt1 = datetime.datetime(2022,3,27,13,27,45,46000) dt2 = datetime.datetime(2022,6,30,14,28) tdelta = dt2 - dt1 print(tdelta) print(type(tdelta)) # Output 95 days, 1:00:14.954000 <class 'datetime.timedelta'>9 từ today = datetime.datetime.now() print(today) # Sample Output: 2022-01-22 09:10:18.4895380 của bạn và bạn sẽ có sự khác biệt về thời gian.

time_diff = bday - today print(f"Your birthday is in {time_diff}") # Output Your birthday is in 220 days, 2:46:00.127416

Để biết số ngày còn lại, hãy sử dụng thuộc tính ngày trên today = datetime.datetime.now() print(today) # Sample Output: 2022-01-22 09:10:18.4895386, như được hiển thị:

from datetime import date date1 = datetime.date(2022,3,27) print(date1) # Output: 2022-03-270

Cách tìm sự khác biệt về thời gian tính bằng giây

Bây giờ, hãy tính toán ngày sinh nhật của bạn là bao nhiêu giây.

Để tính tổng chênh lệch thời gian tính bằng giây, hãy sử dụng phương pháp bday = datetime.datetime(2022,8,30,11,59) print(bday) # Sample Output: 2022-08-30 11:59:001 trên đối tượng from datetime import date date1 = datetime.date(2022,3,27) print(date1) # Output: 2022-03-275 today = datetime.datetime.now() print(today) # Sample Output: 2022-01-22 09:10:18.4895386.

from datetime import date date1 = datetime.date(2022,3,27) print(date1) # Output: 2022-03-271

Chà, điều đó quá dài chờ đợi!

Điều đó nói rằng, bây giờ bạn biết cách tính chênh lệch thời gian giữa bất kỳ hai dấu thời gian nào tính bằng giây.

Bây giờ, hãy xem lại một số điều cơ bản và viết ra những điều sau đây. Một ngày bao gồm 24 giờ, một giờ dài 60 phút và 60 giây tạo nên một phút.

Điều này được tóm tắt trong hình ảnh dưới đây:

Giờ, phút và giây

Vì vậy, để chuyển đổi từ vài giây sang phút, giờ và ngày, bạn có thể sử dụng bảng sau và chia cho hệ số chuyển đổi tương ứng.

Bảng chuyển đổi thời gian

Trong các phần tiếp theo, hãy để chuyển đổi chênh lệch thời gian tính bằng giây thành phút và giờ.

Làm thế nào để tìm sự khác biệt về thời gian tính bằng phút

Để có được sự khác biệt về thời gian tính theo phút, bạn chỉ cần chia tổng số giây cho 60.

Hãy để phân chia bday = datetime.datetime(2022,8,30,11,59) print(bday) # Sample Output: 2022-08-30 11:59:004 cho 60 và lưu trữ nó trong một biến có tên là bday = datetime.datetime(2022,8,30,11,59) print(bday) # Sample Output: 2022-08-30 11:59:005, như thế này:

from datetime import date date1 = datetime.date(2022,3,27) print(date1) # Output: 2022-03-272

Cách tìm sự khác biệt về thời gian theo giờ

Bây giờ bạn đã tính toán chênh lệch thời gian tính theo phút, bạn có thể chia điều đó cho hệ số 60 để có được sự khác biệt về số giờ. Hoặc bạn có thể chia tổng số giây cho 60*60 = 3600.

from datetime import date date1 = datetime.date(2022,3,27) print(date1) # Output: 2022-03-273

Vì vậy, bây giờ bạn đã học được cách tính chênh lệch thời gian trong bất kỳ đơn vị nào bạn chọn.

Sự kết luận

Trong hướng dẫn này, bạn đã học được cách:

  • Tạo và làm việc với ngày và thời gian bằng cách sử dụng mô -đun Python từ from datetime import date date1 = datetime.date(2022,3,27) print(date1) # Output: 2022-03-274,
  • Sử dụng các đối tượng from datetime import date date1 = datetime.date(2022,3,27) print(date1) # Output: 2022-03-275 để có được khoảng thời gian, hoặc chênh lệch thời gian và
  • Tính chênh lệch thời gian tính bằng giây, phút và giờ.

Hy vọng bạn tìm thấy hướng dẫn này hữu ích. Bây giờ bạn đã biết tất cả về việc tính toán sự khác biệt về thời gian trong Python, đó là thời gian để đưa các kỹ năng của bạn vào thực hành.

Học hỏi và mã hóa vui vẻ!

Tìm hiểu cách viết bằng hoặc không bằng mã hoặc & nbsp; Tạo một trò chơi rắn ở Python ở đây.

Chủ đề