我在网上找不到任何东西,可能有一些愚蠢的简单答案,但是对python不熟悉我不明白:
import pytz
from datetime import datetime, timedelta
now_utc = pytz.utc.localize(datetime.utcnow())
past = pytz.utc.localize(datetime.utcnow() - timedelta(seconds=120))
delta = (now_utc-past).seconds
print delta # prints '119', not '120'
为什么它总是比我指定的timedelta打印少1秒?如果我将“seconds = 120”更改为“minutes = 1”,我会得到'59',而不是'60'。为什么呢?
答案 0 :(得分:8)
>>> print now_utc - past
0:01:59.999976
所以有119秒和999976微秒。因为你做了两个单独的datetime.utcnow()
调用,间隔时间很短(24微秒)。