varad
varad

Reputation: 8029

python django subtract time field

I have two time start_time and end_time.

For start time I am getting 6:30 and for end_time I am getting 7:30. Now i want to subtract the time only. i am getting this from html text field.

How can I subtract this two time fields?

Thanks in advance

Upvotes: 3

Views: 3989

Answers (2)

Rizwan Mumtaz
Rizwan Mumtaz

Reputation: 3955

>>> import datetime
>>> time1 = datetime.datetime.strptime("6:30",'%H:%M')
>>> time2 = datetime.datetime.strptime("7:30",'%H:%M')
>>> difference = time2-time1
>>> difference
datetime.timedelta(0, 3600)
>>> difference.seconds
3600
>>> "{:0>8}".format(datetime.timedelta(seconds=difference.seconds))
'01:00:00'
>>> "{:0>8}".format(datetime.timedelta(seconds=666777))
'7 days, 17:12:57'

Upvotes: 6

Barun Sharma
Barun Sharma

Reputation: 1468

>>> from datetime import datetime
>>> s1 = "06:30"
>>> s2 = "07:30"
>>> timeformat = "%I:%M"
>>> delta = datetime.strptime(s2, timeformat) - datetime.strptime(s1, timeformat)
>>> delta
datetime.timedelta(0, 3600)
>>> delta.seconds
3600

delta is the time difference. You can check the value and convert accordingly.

Upvotes: 0

Related Questions