Python 3.x Python-时间输入和加/减
我试图在24小时内获取用户输入,然后对这些输入进行计算(加小时、减小时等)。我有以下几点意见:Python 3.x Python-时间输入和加/减,python-3.x,datetime,Python 3.x,Datetime,我试图在24小时内获取用户输入,然后对这些输入进行计算(加小时、减小时等)。我有以下几点意见: # get start time start_t = int(input("Start time: ")) print(start_t) # get stop time stop_t = int(input("Stop time: ")) print(stop_t) 这些问题是: 打印时间时,如果有前导零(例如0200),则打印200 当我尝试做任何类型的加法或减法运算时,它都无法正确显示。例如,
# get start time
start_t = int(input("Start time: "))
print(start_t)
# get stop time
stop_t = int(input("Stop time: "))
print(stop_t)
这些问题是:
0200
),则打印200
2200
处输入停止时间,并且我希望计算的时间为stop\u t-8
(小时),它将显示0
。我希望它显示0000
。我注意到的另一件事是,如果我执行stop\u t-8
,它将显示2192
。我必须执行停止\u t-800
以获取0
。这似乎是错误的做法我想我必须做一些
datetime
的工作才能让这一切顺利进行,但到目前为止,我的搜索结果都是空手而归。感谢您的帮助 input()方法只能从终端获取文本
必须将文本解析为datetime
对象才能对其进行操作
例如:
导入日期时间
time_format=“%d-%m-%Y%H:%m:%S”#示例01-01-2019 23:00:00
#开始时间
开始时间输入=输入(“开始时间:”)
打印(开始时间输入)
#停车时间
停止时间输入=输入(“停止时间:”)
打印(停止时间输入)
#转化
start\u t=datetime.datetime.strtime(开始时间输入,时间格式)
打印(开始)
stop\u t=datetime.datetime.strtime(stop\u time\u输入,时间格式)
打印(停止)
如果start\u time\u input
或stop\u time\u input
不遵守time\u格式
格式,则会出现ValueError
异常
当你有datetime
对象时,你可以做很多事情,比如减法
导入日期时间
开始时间=datetime.datetime.strtime(“01-01-2019 22:00:00”,时间格式)
stop\u t=datetime.datetime.strtime(“01-01-2019 23:00:00”,时间格式)
时差=停止-启动
打印(时差)
#输出为1:00:00
有关更多功能,请参见datetime libs“我想我需要做一些datetime来完成这项工作,但到目前为止,我的搜索结果是空手而归。”=>呃,真的吗???这非常令人惊讶,至少可以这么说,因为“datetime”是处理日期和时间的stdlib模块的确切名称,所以搜索“python datetime”肯定会产生一些结果……我认为这个页面可能会给您一个好的开始:您基本上可以读取字符串,使用
strptime()将其转换为datetime
对象
然后使用timedelta()
进行调整。希望这有帮助@Brunodesshuilliers——我想说的是,我的搜索结果显示我需要使用某种datetime函数,但我未能成功地使其工作。也许我应该说得更清楚些。我还在努力想办法解决这个问题,但我想我离这越来越近了。