簡體   English   中英

如何在 python datetime.time 上應用模運算

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM