在python 3中添加用户时间



大家好,我在谷歌上搜索了很多内容,但还没有找到答案。基本上,我想将用户输入的时间添加到当前时间
这只是我在学习Python时正在做的一个小项目
因此,如果当前时间是17:16,并且用户希望将1hr 30添加到其中。我该怎么做。
这就是我所拥有的:

import datetime
flex = input("Enter your flex amount in HHMM:")
flex = flex[0]+flex[1]+"-"+flex[2]+flex[3]
time = datetime.datetime.now().strftime("%H-%M")
balance = time+flex
print(time)
print(flex)
print(balance)

我现在已经试过

import datetime
flex = input("Enter your flex amount in HHMM:")
time = datetime.datetime.now().strftime("%H-%M")
flex = flex[0]+flex[1]+"-"+flex[2]+flex[3]
time = time[0]+time[1]+"-"+time[2]+time[3]
balance = datetime.timedelta(hours=int(time[0]+time[1]), 
minutes=int(time[2]+time[3]) + 
datetime.timedelta(hours=int(flex[0]+flex[1]), 
minutes=int(flex[2]+flex[3]))

但现在它抱怨它期待一个整数。但如果我把它改成一个整数,就不会违背我想加的目的。

感谢

我用这个答案开始工作了。这就是现在的样子,谢谢朋友。

from datetime import timedelta as td
import datetime as da
#flex = input("Enter your flex amount in HHMM:")
flex = "0134"
now = da.datetime.now()
user_hours = int(flex[:2])
user_minute = int(flex[2:5])
delay = td(hours=user_hours, minutes=user_minute)
balance = da.datetime.now()+delay
print("Lunch: " +str(lunch))
print("Time when balance at 00:00 : " +str(balance))
print("Now: " +str(now))

简单地使用timedelta创建一个由timedelta对象指示的偏移量,并将其广告到您的时间对象(对日期和日期时间也同样适用(。

from datetime import timedelta, datetime
actual_time = datetime.now()
user_hours = int(flex[:3])
user_minute = int(flex[2:5])
delay = timedelta(hours=user_hours, minutes=user_minute)
print(datetime.now()+delay)

因此,如果当前时间是17:16,并且用户希望将1小时30添加到那个我该怎么做。


您可以使用时间增量,即:

new_time = datetime.datetime.now() + datetime.timedelta(hours=1, minutes=30) # or simply minutes=90, etc...

字符串时很酷

balance=datetime.timedelta(小时=int(time[0]+time[1](,分钟=int(time[2]+time[3](+datetime.time delta(时=int(flex[0]+flex[1](,分=int(flex[2]+flex[3]((

它抱怨说,它期待的是一个整数,而不是一个时间增量

最新更新