从时间中减去小时和分钟

83

在我的任务中,我需要从时间(2:34 PM)中减去一些小时和分钟,如(0:20,1:10...任何值),并在输出端显示减法后的时间。时间和hh:mm值是硬编码的。

例如:

my_time = 1:05 AM

duration = 0:50

输出应该是 12:15 PM

输出应该精确,并且以AM/PM格式适用于所有值(0:00 < Duration > 6:00)。

我不关心秒数,我只需要小时和分钟。

3个回答

207
from datetime import datetime, timedelta

d = datetime.today() - timedelta(hours=0, minutes=50)

d.strftime('%H:%M %p')

1
将datetime.today()设置为一个变量,并用d.replace(hour=1, minute=50)替换,然后减去时间。 - asfarto

14

这对我有用:

from datetime import datetime
s1 = '10:04:00'
s2 = '11:03:11' # for example
format = '%H:%M:%S'
time = datetime.strptime(s2, format) - datetime.strptime(s1, format)
print time

1
如果您能稍微解释一下您的代码,那就太好了。 - Mulperi
只是指出 print time 的结果是 0:59:11 - user

-11
from datetime import datetime

d1 = datetime.strptime("01:05:00.000", "%H:%M:%S.%f")
d2 = datetime.strptime("00:50:00.000", "%H:%M:%S.%f")

print (d1-d2)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接