首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用python作为整数查找时间差(以秒为单位)

用python作为整数查找时间差(以秒为单位)
EN

Stack Overflow用户
提问于 2010-09-03 18:26:00
回答 4查看 107.1K关注 0票数 46

我需要在秒内找到python的时间差。我知道我可以得到这样的区别:

代码语言:javascript
复制
from datetime import datetime
now = datetime.now()
....
....
....
later = datetime.now()
difference = later-now

怎么才能得到总秒的差呢?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-09-03 18:34:02

代码语言:javascript
复制
import time
now = time.time()
...
later = time.time()
difference = int(later - now)
票数 57
EN

Stack Overflow用户

发布于 2016-04-05 10:09:18

total_seconds方法将返回差值,包括任何小数部分。

代码语言:javascript
复制
from datetime import datetime
now = datetime.now()
...
later = datetime.now()
difference = (later - now).total_seconds()

如果需要,可以通过int()将其转换为整数。

票数 45
EN

Stack Overflow用户

发布于 2017-06-27 12:40:14

将时间增量元组的条件与适当的乘数相加,可以给出您的答案。diff.days*24*60*60 + difference.seconds

代码语言:javascript
复制
from datetime import datetime
now = datetime.now()
...
later = datetime.now()
diff = later-now
diff_in_seconds = diff.days*24*60*60 + diff.seconds

变量'diff‘是一个timedelta对象,它是一个元组(天、秒、微秒),在这里详细解释了https://docs.python.org/2.4/lib/datetime-timedelta.html。所有其他单位(小时、分钟.)转换为此格式。

代码语言:javascript
复制
>> diff = later- now
>> diff
datetime.timedelta(0, 8526, 689000)
>> diff_in_seconds = diff.days*24*60*60 + diff.seconds
>> diff_in_seconds
>> 8527

另一种看待它的方法是,如果现在(因此是一个正时差)而不是现在,而是有一个负时间差(早期-现在),那么两者之间的时间仍然与前面的示例相同。

代码语言:javascript
复制
>> diff = earlier-now
>> diff
datetime.timedelta(-1, 77873, 311000)
>> diff_in_seconds = diff.days*24*60*60 + diff.seconds
>> diff_in_seconds
>> -8527

因此,即使我们确定持续时间小于1天,也有必要考虑到这一天,因为它是负时差情况下的一个重要术语。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3638532

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档