如何在Python中操作时间对象?

时间:2016-12-21 20:15:30

标签: python datetime time

我需要使用datetime,但我找不到如何从datetime.time对象中减去或添加分钟或秒数

我尝试过使用datetime.timedelta,但它不起作用。

这是我尝试过的

t1=datetime.time(15,45,20)
t2=t1-datetime.timedelta(seconds=40)

我想获得t2=datetime.time(15,44,40)

1 个答案:

答案 0 :(得分:1)

Timedelta适用于datetime对象。 你可以把你的时间花在一个日期时间上(或者从一个人开始,他们关心年份等等),然后提取一个时间对象。

>>>t1=datetime.datetime(2016, 3, 1, 15,45,20)
>>>t2=t1-datetime.timedelta(seconds=40)
>>>print t2.time()
15:44:40
>>>type(t2.time())
<type 'datetime.time'>

正如其中一条评论指出的那样,如果你不去想它,这会给你带来奇怪的结果。休息40秒,结束一段时间(但是在你忽略的日期数据的前一天)。但是你可以用最少的逻辑解决这个问题,以便捕捉到超过24:00:00或低于0:0:0的东西。