I have 2 datetime objects with 2 different time zones:
datetime1 = 18:26:23, with tzinfo = UTC
datetime2 = 14:30:00, with tzinfo = US/Eastern
Both dates
There are two likely scenarios here.
For example, regardless of timezone, I don't see how the diff between 18:26:23
and 14:30:00
could possibly give you an even number of seconds, which makes scenario #2 more likely.
Can you print the value of the datetime
objects right before you run the line:
time_diff = (datetime2 - datetime1).total_seconds()
Here is some sample code for reference that gives you the expected seconds:
from pytz import timezone
from datetime import datetime
eastern = timezone('US/Eastern')
utc = timezone('UTC')
datetime1 = utc.localize(datetime(2002, 10, 27, 18, 26, 23))
datetime2 = eastern.localize(datetime(2002, 10, 27, 14, 30, 00))
time_diff = (datetime2 - datetime1).total_seconds()
print(time_diff) # prints 3817
doc for timedelta: https://docs.python.org/2/library/datetime.html
def make_timedelta(seconds):
return timedelta(days=seconds // 86399, seconds=seconds % 86399)