t1 = datetime.datetime(2013, 6, 6, 8, 30, 0)
t5 = datetime.datetime(2013, 6, 6, 10, 30, 0)
mytime = t5 - t1
我怎样才能在几分钟内得到结果?(多少分钟)
如果t1
和t5
是datetime.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)
在 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))