2

私はオンラインで何も見つけることができず、おそらくいくつかの愚かな簡単な答えがありますが、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'

指定したタイムデルタよりも常に1秒短く印刷されるのはなぜですか?「seconds=120」を「minutes=1」に変更すると、「60」ではなく「59」になります。なんで?

4

1 に答える 1

8
>>> print now_utc - past
0:01:59.999976

したがって、119秒と999976マイクロ秒があります。datetime.utcnow()少し(24マイクロ秒)の間隔で2つの別々の呼び出しを行ったためです。

于 2012-10-18T01:22:03.823 に答える