Bootstrap FreeKB - Python (Scripting) - Determine Time Difference
Python (Scripting) - Determine Time Difference

Updated:   |  Python (Scripting) articles

datetime and strptime can be used to determine the difference between two dates. In this example, since start_time and end_time contain year-month-day hour:minute:second, "%Y-%m-%d %H:%M:%S" must be used in strptime.

#!/usr/bin/python3
from datetime import datetime

start_time      = datetime.strptime("2023-01-01 02:00:00", "%Y-%m-%d %H:%M:%S")
end_time        = datetime.strptime("2023-02-01 03:00:00", "%Y-%m-%d %H:%M:%S")
time_difference = end_time - start_time

print(f"time difference = {time_difference}")
print(f"time difference in days = {time_difference.days}")
print(f"time difference in seconds = {time_difference.total_seconds()}")

 

Which should return something like this.

time difference = 31 days, 1:00:00
time difference in days = 31
time difference in seconds = 2682000.0

 

Or more realistically, you'll probably be getting some timestamp as input or extracted from a file, and then calculating the difference as compared to the current date and time.

#!/usr/bin/python3
from datetime import datetime

input_date_time  = "2023-02-09 02:00:00"
date_time_format = "%Y-%m-%d %H:%M:%S"
time_stamp       = datetime.strptime(input_date_time, date_time_format)
now              = datetime.strptime(datetime.now().strftime(date_time_format), date_time_format)
time_difference  = now - time_stamp

print(f"time difference = {time_difference}")
print(f"time difference in seconds = {time_difference.total_seconds()}")

if time_difference.total_seconds() > 60:
  print("time diference in seconds is greater than 60")
else:
  print("time diference in seconds is NOT greater than 60")

 

Which should return something like this.

time difference = 21:57:53
time difference in seconds = 79073.0
time diference in seconds is greater than 60

 

 




Did you find this article helpful?

If so, consider buying me a coffee over at Buy Me A Coffee



Comments


Add a Comment


Please enter 0066eb in the box below so that we can be sure you are a human.