python3 获取整分钟数的时间,如间隔半小时

关于作用:

        像实时数据文件,假如要每隔半小时导出副本,并传到其他服务器。

自动传输软件一般要格式化点的文件名,写实时时间不一定支持。

算法:

        大体思路是,获取当前的整点时间和下一个整点时间,用时间间隔来分成多个区间,看看当前时间在哪个区间。

假如当前是20:56, 时间间隔30分钟:

20:00 <=  x120:30 <= x221:00

落在 x1,就取 20:00

落在 x2,就取 20:30

时间转换代码(u_工具),我写在上一篇博客:https://blog.csdn.net/u013595395/article/details/111772052

from u_工具 import *


def 整分钟数的当前时间(整多少分钟 = 30):
    return 整分钟数的指定时间(整多少分钟 = 整多少分钟)
        
def 整分钟数的指定时间(指定的时间 = None, 整多少分钟 = 30):
    分钟间隔 = 整多少分钟
    if not 指定的时间:
        指定的时间 = to_now_datetime()
    else:
        指定的时间 = to_datetime(指定的时间)
    当前整点时间 = 指定的时间.replace(minute=0, second=0, microsecond=0)
    当前整点时间_加一小时 = to_datetime(当前整点时间, 增加几小时=1)
    拿来比较的时间 = 当前整点时间_加一小时
    while 拿来比较的时间 >= 当前整点时间:
        拿来比较的时间 = to_datetime(拿来比较的时间, 增加几分钟= -分钟间隔)
        if 指定的时间 >= 拿来比较的时间:
            return 拿来比较的时间


需要的时间 = 整分钟数的当前时间(30)
print(需要的时间)
print(to_时间字符串(需要的时间))
print(to_时间字符串(需要的时间, "%Y%m%d%H%M%S"))
print(to_时间戳(需要的时间))

效果

这里有个特别的判定,

像21:00, 要输出21:00, 还是20:30

判断逻辑在代码第18行,>= 是21:00,> 是20:30

猜你喜欢

转载自blog.csdn.net/u013595395/article/details/112068832