在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))


德玛西亚99
浏览 186回答 2
2回答

肥皂起泡泡

因此,如果当前时间是 17:16 并且用户想要添加 1hr 30。我该怎么做。您可以使用timedelta,即:new_time = datetime.datetime.now() + datetime.timedelta(hours=1, minutes=30) # or simply minutes=90, etc...

呼唤远方

简单地使用timedelta创建一个由 timedelta 对象指示的偏移量,并将其添加到您的时间对象(日期和日期时间也相同)。from datetime import timedelta, datetimeactual_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)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python