我有一个带两个变量的方法:
方法非常简单。用户输入两个值,第一个是字符串,例如。 '23:01' 第二个是整数,例如50.因此该方法通过将两者加在一起来计算新时间,因此新时间应为23:51。 我得到这个工作,但是当时间变成24:01 + 60时,它变成25:01,这是一个不正确的时间。 我如何简单地在python中使用time方法来添加时间? 到目前为止,这是我的代码,它会引发错误
import time
class timeCalc(object):
def nextTime(self, time, minutes):
t = time.split(':')
mins = int(t[0]) * 60 + int(t[1]) + minutes
h = str(mins/60)
m = str(mins%60)
if len(h) == 1:
h = '0' + h
if len(m) == 1:
m = '0' + m
nTime = time.strptime(h + ':' + m, "%H:%M")
print nTime
ts = timeCalc()
ts.nextTime('23:01',60)
答案 0 :(得分:3)
您不需要以这种方式解析时间参数,您可以这样做:
Import datetime
class timeCalc(object):
def nextTime(self, time, minutestoadd):
base_time = datetime.datetime.strptime(time, "%H:%M")
minutesobj = datetime.timedelta(minutes = minutestoadd)
newtime = basetime + minutesobj
print newtime.time()
第4行:
您将'time'参数格式化为格式为%H的日期时间对象:%M称为base_time
第5行:
您将minutestoadd参数转换为兼容的对象格式以添加
第6行:
两个日期时间对象值的总和
第7行:
以23:40:00左右的格式打印结果
答案 1 :(得分:1)
from datetime import datetime, timedelta
def nextTime(time, minutes):
return (datetime.strptime(time, '%H:%M') + timedelta(minutes=minutes)).time()
nextTime('23:01', 60)
返回可以打印的datetime.time(0, 1)
:
nextTime('23:01', 60).strftime('%H:%M')
并返回00:01
答案 2 :(得分:0)
time.localtime(currenttime + 45 * 60))
物联网早点离开你的工作试试这个