0

Given two time points

t_1 = (hour_1, minute_1)
t_2 = (hour_2, minute_2)

How can I get the absolute time difference in minutes in Python 2.7, where I assume that t_2 is later than t_1, so if:

t_2 = (0, 3) and t_1 = (23, 59) 

the difference would be 4 Minutes.

Daniel
  • 5,095
  • 5
  • 35
  • 48
user3680510
  • 277
  • 2
  • 9
  • possible duplicate of [How do I find the time difference between two datetime objects in python?](http://stackoverflow.com/questions/1345827/how-do-i-find-the-time-difference-between-two-datetime-objects-in-python) – CDspace Jan 29 '15 at 23:10
  • @CDspace unfortunately the OP does not appear to be using `datetime` objects. – ApproachingDarknessFish Jan 29 '15 at 23:11
  • with datetime you need somehow the date which i don't have it tried with time objects but i can't compute the difference with t1 - t2 because time objects does not support this. – user3680510 Jan 29 '15 at 23:15

2 Answers2

2
t_2 = (0, 3)
t_1 = (23, 59)

from datetime import timedelta

t1 = timedelta(hours=t_1[0],minutes=t_1[1])
t2 = timedelta(hours=t_2[0],minutes=t_2[1])
print((t2-t1).seconds/60)
4.0
Padraic Cunningham
  • 176,452
  • 29
  • 245
  • 321
0

Use datetime.timedelta objects (here t1 is larger than t2):

>>> import datetime
>>> t1 = (10, 0)
>>> t2 = (5, 5)
>>> d1 = datetime.timedelta(seconds=60 * 60 * t1[0] + 60 * t1[1])
>>> d2 = datetime.timedelta(seconds=60 * 60 * t2[0] + 60 * t2[1])
>>> d1 - d2
datetime.timedelta(0, 17995)
>>> (d1 - d2).total_seconds()
17995.0
Simeon Visser
  • 118,920
  • 18
  • 185
  • 180