字符串到时间python的小时和分钟,并计算差异

时间:2016-08-04 02:04:57

标签: python datetime time

我正在花时间作为Array格式的用户输入。让我们说00:00,现在我想继续增加一分钟的时间,然后把它变成00:01,00:02,等等。

另外,我从用户HH:MMstart_time获取两个输入作为字符串。如何在几分钟内计算两次之间的差异?

我是Python的新手,任何帮助都会受到赞赏!

我使用以下代码:

end_time

我无法使用timedelta增加#to calculate difference in time time_diff = datetime.strptime(end_time, '%H:%M') - datetime.strptime(start_time, '%H:%M') minutes = int(time_diff.total_seconds()/60) print minutes #to convert string to time format HH:MM start_time = datetime.strptime(start_time, '%H:%M').time() #to increment time by 1 minute start_time = start_time + datetime.timedelta(minutes=1)

2 个答案:

答案 0 :(得分:1)

import datetime

time_diff = datetime.datetime.strptime(end_time, '%H:%M') - datetime.datetime.strptime(start_time, '%H:%M')
minutes = int(time_diff.total_seconds()/60)
print minutes

datetimedatetime模块的一个类,它有一个名为strptime的类方法。命名法有点令人困惑,但这应该按照你的意愿行事。

至于添加时间增量,您需要将开始时间存储为datetime对象,以使其起作用:

start_datetime = datetime.datetime.strptime(start_time, '%H:%M')
start_datetime = start_datetime + datetime.timedelta(minutes=1)
print start_datetime

答案 1 :(得分:0)

问题的第一部分,您可以使用datetime module

from datetime import datetime as dt
from datetime import timedelta as td
UsrInput = '00:00'
fmtString = '%H:%M'
myTime = dt.strptime(UsrInput, fmtString)
increment = td(0,1)
for count in range(10):
    myTime += increment
    print (dt.strftime(myTime, fmtString))

第二部分也将使用datetime,如下:

from datetime import datetime as dt
from datetime import timedelta as td
start_time = '00:01'
end_time = '00:23'
fmtString = '%H:%M'
myStart = dt.strptime(start_time, fmtString)
myEnd = dt.strptime(end_time, fmtString)
difference = myEnd - myStart
print(td.strftime(difference, '%M')
相关问题