为了账号安全,请及时绑定邮箱和手机立即绑定

在python 3中添加用户时间

在python 3中添加用户时间

德玛西亚99 2021-09-14 21:33:41
大家好,我有谷歌搜索到我的心满意足,但还没有找到答案。基本上我想将用户输入的时间添加到当前时间。这只是我在学习 Python 时正在做的一个小项目。因此,如果当前时间是17:16并且用户想要添加1hr 30到该时间。我该怎么做。这就是我所拥有的:import datetimeflex = 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+flexprint(time)print(flex)print(balance)我现在已经试过了import datetimeflex = 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 tdimport 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()+delayprint("Lunch: " +str(lunch))print("Time when balance at 00:00 : " +str(balance))print("Now: " +str(now))
查看完整描述

2 回答

?
肥皂起泡泡

TA贡献1829条经验 获得超6个赞

因此,如果当前时间是 17:16 并且用户想要添加 1hr 30。我该怎么做。


您可以使用timedelta,即:

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



查看完整回答
反对 回复 2021-09-14
?
呼唤远方

TA贡献1856条经验 获得超11个赞

简单地使用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)


查看完整回答
反对 回复 2021-09-14
  • 2 回答
  • 0 关注
  • 185 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信