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)
执行结果如下