python时间向前取整方法

1.获取当前时间和前一小时时间
2.获取当前时间和前一小时时间,向前取整
该代码需要在python3环境使用,python2环境由于除法问题会导致算出59分59秒的问题
需要在python2环境算精确除法需额外添加future包或math模块

import time
#统计区间(前几小时,支持小数)
gtHours = "1"

#开始时间(普通执行)
def beforeHoursdate(hours, date_format='%Y-%m-%d %H:%M:%S'):
    hours = float(hours)
    tStart = time.time() - hours*60*60
    tStart = time.strftime('%Y-%m-%dT%H:%M:%S+08:00', time.localtime(tStart))
    return tStart

#结束时间(当前时间)(普通执行)
dateLt = time.strftime('%Y-%m-%dT%H:%M:%S+08:00', time.localtime())

#入口
if __name__ == '__main__':
    print("开始时间(普通执行)")
    dateGt = beforeHoursdate(gtHours)
    print(dateGt)
    print("当前时间(普通执行)")
    print(dateLt)


#开始时间(非整点执行向前取整)
def startDatetime(hours, date_format='%Y-%m-%d %H:%M:%S'):
    hours = int(hours)
    tStart = time.time() - hours*60*60 - (time.time() % 3600)
    tStart = time.strftime('%Y-%m-%dT%H:%M:%S+08:00', time.localtime(tStart))
    return tStart

#结束时间(当前时间非整点执行向前取整)
def stopDatetime(date_format='%Y-%m-%d %H:%M:%S'):
    tStop = time.time() - (time.time() % 3600)
    tStop = time.strftime('%Y-%m-%dT%H:%M:%S+08:00', time.localtime(tStop))
    return tStop

#入口
if __name__ == '__main__':
    print("开始时间(向前取整)")
    dateGt = startDatetime(gtHours)
    print(dateGt)
    print("当前时间(向前取整)")
    dateLt = stopDatetime()
    print(dateLt)

执行结果如下
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值