5

如何在 python 中找到最近的 15(或 10)分钟间隔?例如

>>> datetime.datetime.now()
datetime.datetime(2011, 2, 22, 15, 43, 18, 424873)

我想要当前的 15 分钟间隔(15:30-15:44)所以我想将上面的日期时间转换为

datetime.datetime(2011, 2, 22, 15, 30, 00, 00)
4

4 回答 4

4

对我来说最简单的方法:

from datetime import datetime, timedelta
now = datetime.now()
now = now - timedelta(minutes = now.minute % 15, seconds = now.second, microseconds = now.microsecond )

希望这会有所帮助。

于 2011-02-22T14:51:56.557 回答
1

我认为对于这种情况,使用replacetimedelta更直接:

>>> import datetime
>>> now = datetime.datetime.now()
>>> now.replace(minute=(now.minute - (now.minute % 15)), second=0, microsecond=0)
datetime.datetime(2012, 3, 23, 11, 15)
>>> 
于 2011-02-22T15:06:33.240 回答
0

看看 timedelta()

http://docs.python.org/release/2.5.2/lib/datetime-timedelta.html

于 2011-02-22T14:48:48.700 回答
0

只需设置分钟

min = min - min %  15 

并在 0 上设置更短的时间单位(秒、毫秒、..)

于 2011-02-22T14:53:24.327 回答