python datetime计算时间差_用datetime计算时间差

最近在计算两个时间字符串的差值,会用到datetime模块

在这个模块中,提供计算天数、秒和总秒数的差值计算。

计算天数间隔

from datetime import datetime,timedelta

a1='2017-10-07 09:01:04'

a2='2017-10-05 10:02:50'

test1=datetime.strptime(a1, "%Y-%m-%d %H:%M:%S")

test2=datetime.strptime(a2, "%Y-%m-%d %H:%M:%S")

diff=test2-test1

print(diff.days)

输出结果

1

计算秒数间隔

from datetime import datetime,timedelta

a1='2017-10-04 09:01:04'

a2='2017-10-05 10:02:50'

test1=datetime.strptime(a1, "%Y-%m-%d %H:%M:%S")

test2=datetime.strptime(a2, "%Y-%m-%d %H:%M:%S")

diff=test2-test1

print(diff.days)

输出结果:

3706

等等,好像不对3600秒是一个小时,这两个时间好像差了一天。

对的,原因在于seconds只能计算同一天的间隔,所以事先要计算出差值的天数,用天数144060+秒数才能得到正确的结果

所以对于这种情况一般使用total_seconds()来解决

print(diff.total_seconds())

输出结果:

90106.0

计算分钟间隔

在datetime中没有专门的模块来计算分钟间隔,因此需要用秒数进行换算,由于我们目前的工程计算中不需要很精确的分钟数据,所以可以直接取整。

print(diff.total_seconds()//60)

输出结果:

61

注:如果用一个小的时间减去大的时间,使用//运算后就会得到一个负整数,比如-61,也是符合我们设计要求的

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值