添加用户时间 python 3
Adding user time in 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))
So if the current time is 17:16 and the user wants to add 1hr 30 to
that. how would i do it.
您可以使用timedelta,即:
new_time = datetime.datetime.now() + datetime.timedelta(hours=1, minutes=30) # or simply minutes=90, etc...
简单地使用 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)
很酷,所以当 tring
balance = datetime.timedelta(hours=int(time[0]+time[1]), minutes=int(time[2]+time[3]) + datetime.timedelta(hours =int(flex[0]+flex[1]), 分钟=int(flex[2]+flex[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))
So if the current time is 17:16 and the user wants to add 1hr 30 to that. how would i do it.
您可以使用timedelta,即:
new_time = datetime.datetime.now() + datetime.timedelta(hours=1, minutes=30) # or simply minutes=90, etc...
简单地使用 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)
很酷,所以当 tring
balance = datetime.timedelta(hours=int(time[0]+time[1]), minutes=int(time[2]+time[3]) + datetime.timedelta(hours =int(flex[0]+flex[1]), 分钟=int(flex[2]+flex[3]))
它抱怨它期待一个整数而不是时间增量