end_time = datetime.datetime.utcnow()
start_time = end_time - datetime.timedelta(days=14)
(end_time - start_time).seconds = 0
(end_time - start_time).days = 14
奇怪的是,如果我从时间增量中加/减一秒,我会得到预期的响应。
答案 0 :(得分:2)
时差为14天0秒。
echo "9714917" | /third/party/bin/program
给出:
diff = end_time - start_time
diff
一秒钟:
datetime.timedelta(14)
现在:
s1 = datetime.timedelta(seconds=1)
给出:
diff - s1
这是13天和86399秒。
答案 1 :(得分:1)
如果您需要以秒为单位的差异,请调用timedelta的total_seconds()
https://docs.python.org/2/library/datetime.html#datetime.timedelta.total_seconds
答案 2 :(得分:0)
我不确定你在做什么,但如果你使用
start_time = end_time - datetime.timedelta(days=14, seconds=20)
并输入
(end_time - start_time).seconds
你的答案会得到20分 另外,为了澄清它返回0的原因,如果使用
,则返回timedelta对象(end_time - start_time)
其中seconds属性为0。
你不能使用
(end_time - start_time).seconds = 20
因为它是一个只读属性。 如果您想获得总秒数,可以使用
(end_time - start_time).total_seconds()