[英]How to apply modulo operation on python datetime.time
我有一系列 datetime.time 數據,我想對其應用模運算,將所有數據轉換為一些間隔。
例如,使用 5 分鍾間隔, datetime.time(11, 38, 27, 785327)
將轉換為datetime.time(11, 35, 0, 0)
我怎樣才能完成這種舍入?
input_time = datetime.time(11, 38, 27, 785327)
mod_time = datetime.time(input_time.hour, input_time.minute//5*5)
遇到了這個優秀的解決方案
https://gist.github.com/treyhunner/6218526
import datetime as dt
class datetime(dt.datetime):
def __divmod__(self, delta):
seconds = int((self - dt.datetime.min).total_seconds())
remainder = dt.timedelta(
seconds=seconds % delta.total_seconds(),
microseconds=self.microsecond,
)
quotient = self - remainder
return quotient, remainder
def __floordiv__(self, delta):
return divmod(self, delta)[0]
def __mod__(self, delta):
return divmod(self, delta)[1]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.