我有2 datetime對象:Python:如何獲得HH:MM格式的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 datetime對象:Python:如何獲得HH:MM格式的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)
[Python的格式timedelta到字符串(的
可能重複http://stackoverflow.com/questions/538666/python-format-timedelta-to-string) – Dikei