datetime模块计算两个时间的时间差(排除特定时间段)

format = '%Y-%m-%d %H:%M:%S'
start = datetime.datetime.strptime("2019-03-06 01:52:51", format)
end = datetime.datetime.strptime("2019-03-06 02:52:51", format)
start0=start-datetime.timedelta(hours=start.hour,minutes=start.minute,seconds=start.second)
end0=end-datetime.timedelta(hours=end.hour,minutes=end.minute,seconds=end.second)

start = time.mktime(start.timetuple()) * 1000 + start.microsecond / 1000   
start0 = time.mktime(start0.timetuple()) * 1000 + start0.microsecond / 1000
end = time.mktime(end.timetuple()) * 1000 + end.microsecond / 1000
end0 = time.mktime(end0.timetuple()) * 1000 + end0.microsecond / 1000

a = end-start
b = a/1000/60
print(b)

start_o= time.strftime("%Y-%m-%d %H:%M:%S",time.localtime(float(start/1000)))
start_o= datetime.datetime.strptime(start_o, format)
if start_o.hour<6:
   time1=(start0-start)/1000/60 +360     
else:
   time1=0   
time1=round(time1,0)
print(time1)
    
end_o=time.strftime("%Y-%m-%d %H:%M:%S",time.localtime(float(end/1000)))
end_o= datetime.datetime.strptime(end_o, format)
if end_o.hour<6:
   time2=(end-end0)/1000/60+int((end0-start0)/1000/3600/24)*360 -360
else:
   time2=int((end0-start0)/1000/3600/24)*360
time2=round(time2,0)
print(time2)
    
time3=((end-start)/1000/60)-time1-time2
print(time3)     

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值