我编写了一个程序,该程序使用用户输入来询问两个特定时间(开始时间和结束时间)。格式化xx:yy or hours:minutes
我希望计算两个给定时间之间的时差并以两种格式打印(正确地{xx:yy},不正确地{xx Hours and yy Minutes}
我尝试过此操作以获取用户输入:
start1 = int(input("1st Start Time: "))
end1 = int(input("1st EndTime: "))
这里的问题是冒号无法转换为数字,因此不能简单地将它们相互减去。
并且据您所知,该程序员旨在计算从头到尾的工作时间。
因此,我希望用户输入开始时间和结束时间并获得结果,将同一件事重复十次,然后将其汇总(所有工作时间)以创建最终工作时间!还应该有一个选择,可以随时键入“ done”结束并获得最终的总和,而不必花掉所有十个mini-work-timez的选择。
您可以接受用户的输入并将其转换为DateTime对象。然后简单地将两个值相减。
您可以将值存储在程序中,并根据逻辑求和以将这些值求和并满足您的“完成”要求。
from datetime import datetime, timedelta
start = 'abcd'
end = '14:31'
try:
s = datetime.strptime(start, "%H:%M")
e = datetime.strptime(end, "%H:%M")
delta = e - s
print(delta)
print(f"{str(delta).split(':')[0]} Hours and {str(delta).split(':')[1]} Minutes")
except Exception as UserInputError:
print(f"Could not parse time from user input. Error: {UserInputError}")
#Properly: 2:01:00
#Improperly: 2 Hours and 01 Minutes
# With Bad input:
# Could not parse time from user input. Error: time data 'abcd' does not match format '%H:%M'
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句