0
t1 = datetime.datetime(2013, 6, 6, 8, 30, 0)
t5 = datetime.datetime(2013, 6, 6, 10, 30, 0)

mytime = t5 - t1

我怎样才能在几分钟内得到结果?(多少分钟)

4

2 回答 2

3

如果t1t5datetime.datetime对象,那么减去它们会给你一个datetime.timedelta结果。

timedelta对象以天、秒和微秒为单位进行处理,但使用方法timedelta.total_seconds()可以将秒数作为浮点值。只需除以 60 即可计算分钟数:

minutes = mytime.total_seconds() // 60

如果您还想要剩余的秒数,请使用以下divmod()函数:

minutes, seconds = divmod(mytime.total_seconds(), 60)

演示:

>>> import datetime
>>> t1 = datetime.datetime(2013, 6, 6, 8, 30, 0)
>>> t5 = datetime.datetime(2013, 6, 6, 10, 30, 0)
>>> mytime = t5 - t1
>>> mytime
datetime.timedelta(0, 7200)
>>> mytime.total_seconds() // 60
120.0
>>> divmod(mytime.total_seconds(), 60)
(120.0, 0.0)
于 2013-11-12T17:23:37.107 回答
0

在 Python 3 中:

mytime_in_minutes = mytime / timedelta(minutes=1)

完整示例:

>>> from datetime import datetime, timedelta
>>> t1 = datetime(2013, 6, 6, 8, 30, 0)
>>> t5 = datetime(2013, 6, 6, 10, 30, 0)
>>> 
>>> mytime = t5 - t1
>>> mytime / timedelta(minutes=1)
120.0
>>> mytime // timedelta(minutes=1)
120
>>> divmod(mytime, timedelta(minutes=1))
(120, datetime.timedelta(0))
于 2013-11-13T22:09:40.413 回答