关于作用:
像实时数据文件,假如要每隔半小时导出副本,并传到其他服务器。
自动传输软件一般要格式化点的文件名,写实时时间不一定支持。
算法:
大体思路是,获取当前的整点时间和下一个整点时间,用时间间隔来分成多个区间,看看当前时间在哪个区间。
假如当前是20:56, 时间间隔30分钟:
20:00 <= x1 < 20:30 <= x2 < 21: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