我有 2 个日期时间对象:
a
datetime.datetime(2013,2,11,15,35)
b
datetime.datetime(2013,2,11,18,55)
时差是 3:20
我怎样才能在python中获得这个?
我愿意:
(b-a).seconds/3600
但我得到 3 而不是 3:20
我有 2 个日期时间对象:
a
datetime.datetime(2013,2,11,15,35)
b
datetime.datetime(2013,2,11,18,55)
时差是 3:20
我怎样才能在python中获得这个?
我愿意:
(b-a).seconds/3600
但我得到 3 而不是 3:20
可以接受人工施工吗?如果你减去两个日期时间,你会得到一个 timedelta 对象。然后从中获取值:
>>> diff = b - a
>>> diff
datetime.timedelta(0, 12000)
>>> hrs = diff.seconds / 3600
>>> hrs
3
>>> mins = diff.seconds % 3600 / 60
>>> mins
20
>>> "%s:%s" % (hrs, mins)
'3:20'
>>> diff = b - a
>>> diff
datetime.timedelta(0, 12000)
>>> (datetime.datetime(2010, 1, 1, 0, 0, 0) + diff).strftime("%H:%M")
'03:20'
也可能是一种方法。
也许我认为时间是:
(b-a).days*24 +(b-a).seconds/3600
这是另一种方式:
x = (b-a).seconds/3600.0 + (b-a).days*24
hours = int(x)
mins = int((x - hours)*60)