Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 计算两个输入时间之间的时间差_Python_Datetime_Time_Calculator_Data Conversion - Fatal编程技术网

Python 计算两个输入时间之间的时间差

Python 计算两个输入时间之间的时间差,python,datetime,time,calculator,data-conversion,Python,Datetime,Time,Calculator,Data Conversion,我曾经做过一个程序,它要求用户输入两个特定的时间(开始时间和结束时间)。 格式为xx:yy或小时:分钟 我希望两个给定时间之间的差值将以两种形式计算和打印(正确的{xx:yy},错误的{xx小时和yy分钟} 我尝试了以下方法来获取用户输入: start1 = int(input("1st Start Time: ")) end1 = int(input("1st EndTime: ")) 这里的问题是冒号不能被转换成一个数字,所以它不能只是简单地相互减去

我曾经做过一个程序,它要求用户输入两个特定的时间(开始时间和结束时间)。 格式为
xx:yy或小时:分钟

我希望两个给定时间之间的差值将以两种形式计算和打印(正确的{xx:yy},错误的{xx小时和yy分钟}

我尝试了以下方法来获取用户输入:

start1 = int(input("1st Start Time: "))
end1 = int(input("1st EndTime: "))
这里的问题是冒号不能被转换成一个数字,所以它不能只是简单地相互减去

就你们所知,这个程序是用来计算从开始到结束的工作时间的


因此,我希望用户输入开始和结束时间,并得到结果,同样的事情十次,然后将其汇总(所有工作时间)以创建最终工作时间!还应该有一个选项,通过键入“完成”随时结束它不需要通过所有十个迷你工作时间z就可以得到最终的总和。

您可以接受用户的输入并转换为DateTime对象。然后简单地减去这两个值

您可以将这些值存储在程序中,并使用逻辑对这些值求和并处理“完成”需求


从datetime导入datetime,timedelta
开始='abcd'
结束='14:31'
尝试:
s=datetime.strTime(开始,“%H:%M”)
e=datetime.strTime(结束,“%H:%M”)
delta=e-s
打印(增量)
打印(f“{str(delta).split(':')[0]}小时和{str(delta).split(':')[1]}分钟”)
作为UserInputError的例外情况除外:
打印(f“无法从用户输入中分析时间。错误:{UserInputError}”)
#正确时间:2:01:00
#时间:2小时01分钟
#输入错误:
#无法从用户输入中分析时间。错误:时间数据“abcd”与格式“%H:%M”不匹配

您可以接受用户的输入并转换为DateTime对象。然后简单地减去这两个值

您可以将这些值存储在程序中,并使用逻辑对这些值求和并处理“完成”需求


从datetime导入datetime,timedelta
开始='abcd'
结束='14:31'
尝试:
s=datetime.strTime(开始,“%H:%M”)
e=datetime.strTime(结束,“%H:%M”)
delta=e-s
打印(增量)
打印(f“{str(delta).split(':')[0]}小时和{str(delta).split(':')[1]}分钟”)
作为UserInputError的例外情况除外:
打印(f“无法从用户输入中分析时间。错误:{UserInputError}”)
#正确时间:2:01:00
#时间:2小时01分钟
#输入错误:
#无法从用户输入中分析时间。错误:时间数据“abcd”与格式“%H:%M”不匹配

效果很好!如果用户不写“22:56”,而是写一些像“jdhdh”这样的随机信息,我怎么能编写自定义错误消息呢。所以他们不会收到复杂的错误消息?您可以捕获异常并优雅地处理它。这只是捕获任何异常的一个简单示例。@Tropekyt这能回答您的问题吗?是的,thx,它对meGreat非常有效,您能接受答案吗?+1,请:)太好了!如果这个人不写“22:56”,而是写一些随机的东西,比如“jdhdh”,我怎么能写自定义错误消息呢。这样他们就不会收到复杂的错误消息了?您可以捕获异常并优雅地处理它。这只是一个捕获任何异常的简单示例。@Tropekyt这能回答您的问题吗?是的,thx,它对meGreat非常有效,您能接受答案并+1吗,请:)