2017-09-24 56 views
2

如何将小时,分钟和秒添加到创建的时间?Python将小时,分钟和秒添加到已创建的时间

代码:

import datetime 

time_entry = input('Enter a time in hh:mm:ss format:') 
hours, minutes, second = map(int, time_entry.split(':')) 
t = datetime.time(hours, minutes, second) 

h = int(input('Hours:')) 
m = int(input('Minutes:')) 
s = int(input('Seconds:')) 

print('Current time is:',t) 

t1 = datetime.time(hours + h, minutes + m, second + s) 
print('New time is:',t1) 

我希望它出来是这样的:

Enter a time in hh:mm:ss format:23:23:23 
Hours:2 
Minutes:2 
Seconds:2 
Current time is: 23:23:23 
New time is: 1:25:25 

但我得到:

t1 = datetime.time(hours + h, minutes + m, second + s) 
ValueError: hour must be in 0..23 
+1

请发表您的代码与你'log'在这里一起,而不是将其链接到一个快照。 –

+0

好的......我已编辑它 –

+0

并且您的输入和预期输出 –

回答

1

你想用timedelta对象:

from datetime import timedelta 
t1 = datetime.time(hours, minutes, second) + timedelta(seconds=s, minutes=m, hours=h) 

,并在那里sm可以大于59,并且h高23没有问题

+0

它将打印出如下所示:t = datetime.time(小时,分钟,秒) NameError:名称'datetime'未定义 –

+0

@AbdHakimKarim coursel也会抱怨'hours','minutes','second', 's','m'和'h'。 *必须将上述内容放入现有程序*中,否则所有这些名称都会引发错误。 – Anthon

相关问题