业务需求
有的任务,必须在指定时间段内执行,可以按照以下方式,来判断当前时间是否在指定的时间范围内。
实现
-- 任务参数表
task = {
name = '任务:吃饭打卡赚金币',
slotTime = {
'06:00-09:00', '11:00-14:00', '17:00-20:00', '21:00-24:00'
},
}
-- 获取当前时间
function getCurrentTime()
local currentTime = os.date("*t") -- 获取当前时间表(table)
return string.format("%02d:%02d", currentTime.hour, currentTime.min) -- 返回 "HH:MM" 格式
end
-- 判断当前时间是否在时间段内
function isTimeInSlot(currentTime, slotTime)
-- 获取开始时间和结束时间
local startTime, endTime = string.match(slotTime, "(%d%d:%d%d)-(%d%d:%d%d)")
-- 将时间转换为分钟数,以便于比较
local function timeToMinutes(timeStr)
local hour, minute = string.match(timeStr, "(%d%d):(%d%d)")
return tonumber(hour) * 60 + tonumber(minute)
end
-- 当前时间和时间段的转换
local currentTimeInMinutes = timeToMinutes(currentTime)
local startTimeInMinutes = timeToMinutes(startTime)
local endTimeInMinutes = timeToMinutes(endTime)
-- 判断当前时间是否在时间段内
return currentTimeInMinutes >= startTimeInMinutes and currentTimeInMinutes <= endTimeInMinutes
end
local currentTime = getCurrentTime()
-- 遍历任务的时间段
for _, slot in ipairs(task.slotTime) do
if isTimeInSlot(currentTime, slot) then
-- 如果当前时间在某个时间段内,执行任务
print("当前时间 (" .. currentTime .. ") 在时间段 " .. slot .. " 内,执行任务:" .. task.name)
-- 这里可以执行任务的具体代码逻辑
return
end
end
-- 如果没有在任何时间段内,跳过任务
print("当前时间 (" .. currentTime .. ") 不在任何有效时间段内,跳过任务:" .. task.name)
1. 官方交流QQ群,添加多个不批。建议使用安卓手机或电脑申请。
飞云脚本圈: 586333520
Auto.js学习交流③群:286635606
Auto.js学习交流②群:712194666(满员)
IOS免越狱自动化测试群:691997586
2. 盗版,破解有损他人权益和违法作为,请各位会员支持正版。
3. 本站部分资源来源于用户上传和网络搜集,如有侵权请提供版权证明并联系站长删除。
4.如未特别申明,本站的技术性文章均为原创,未经授权,禁止转载/搬运等侵权行为。
5.全站所有付费服务均为虚拟商品,购买后自动发货。售出后概不接受任何理由的退、换。注册即为接受此条款。
6.如果站内内容侵犯了您的权益,请联系站长删除。
飞云脚本 » 【懒人精灵】在指定的多个时间段里执行任务,不在时间段内就不执行
飞云脚本圈: 586333520
Auto.js学习交流③群:286635606
Auto.js学习交流②群:712194666(满员)
IOS免越狱自动化测试群:691997586
2. 盗版,破解有损他人权益和违法作为,请各位会员支持正版。
3. 本站部分资源来源于用户上传和网络搜集,如有侵权请提供版权证明并联系站长删除。
4.如未特别申明,本站的技术性文章均为原创,未经授权,禁止转载/搬运等侵权行为。
5.全站所有付费服务均为虚拟商品,购买后自动发货。售出后概不接受任何理由的退、换。注册即为接受此条款。
6.如果站内内容侵犯了您的权益,请联系站长删除。
飞云脚本 » 【懒人精灵】在指定的多个时间段里执行任务,不在时间段内就不执行