Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 为什么我的timedelta数学不可用?_Python_Datetime - Fatal编程技术网

Python 为什么我的timedelta数学不可用?

Python 为什么我的timedelta数学不可用?,python,datetime,Python,Datetime,我在网上找不到任何东西,可能有一些愚蠢的简单答案,但作为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

我在网上找不到任何东西,可能有一些愚蠢的简单答案,但作为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秒?如果我把“秒=120”改为“分钟=1”,我得到的是“59”,而不是“60”。为什么?

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

因此有119秒和999976微秒。因为您以24微秒的间隔分别调用了两次datetime.utcnow()。

您调用了两次datetime.utcnow()。这两个电话相隔1秒似乎很愚蠢,但为什么不尝试一个电话呢?就是这样。我应该只做一次。我觉得自己很愚蠢。如果允许的话,我会在9分钟内接受你的回答。