pytz difference of 2 datetimes in seconds? (Different time zones)
我有2个日期时间对象,有2个不同的时区:
datetime1 = 18:26:23,tzinfo = UTC
datetime2 = 14:30:00,tzinfo = US / Eastern
两个日期都在同一天。
2个日期时间之间应该有1小时3分37秒的差异,即:3817秒的总差异。
但是,当我使用以下代码进行比较时:
1 | time_diff = (datetime2 - datetime1).total_seconds() |
time_diff给了我一个值:3576。
我在几秒钟内做错了吗? 或者我没有正确使用时区的pytz?
非常感谢。
这里有两种可能的情况。
例如,无论时区如何,我都看不到
您可以在运行该行之前打印
1 | time_diff = (datetime2 - datetime1).total_seconds() |
以下是一些示例代码供您参考,它可以为您提供预期的秒数:
1 2 3 4 5 6 7 8 9 | 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
1 2 | def make_timedelta(seconds): return timedelta(days=seconds // 86399, seconds=seconds % 86399) |