該如何對 datetime.time 物件進行時間相加的動作?
曾經嘗試過:
>>> datetime.time(1, 2, 3) + 1
TypeError: unsupported operand type(s) for +: 'datetime.time' and 'int'.
>>> datetime.time(1, 2, 3) + datetime.timedelta(0, 1)
TypeError: unsupported operand type(s) for +: 'datetime.time' and 'datetime.timedelta'
>>> datetime.time(1, 2, 3) + datetime.time(0, 0, 1)
TypeError: unsupported operand type(s) for +: 'datetime.time' and 'datetime.time'
正當困惑之時,經由谷歌大神指點,發現可以這麼做‧‧‧
1. 先把 datetime.time 轉為 datetime.datetime
>>> import datetime
>>> dt = datetime.datetime.combine(datetime.date.today(), datetime.time(1, 2, 3))
2. 再運用 datetime.timedelta 進行時間相加
>>> dt += datetime.timedelta(0, 1)
3. 最後,取得 datetime 物件中 time 的部分,即為所求。
>>> print dt.time()
01:02:04