#定时任务# 模仿Windows任务计划管理器之指定星期在第几个执行
By
圣地
at 2021-09-14 • 2人收藏 • 775人看过
import win.ui; /*DSG{{*/ mainForm = win.form(text="aardio form";right=959;bottom=591) mainForm.add() /*}}*/ import console; import win.taskScheduler; var taskScheduler = win.taskScheduler(mainForm); taskScheduler.start() /* 一个月中的某周X最多会出现有5个最少出现4个 */ //取本月最后一天日期 var getDays = function(yyyymm){ if(type(yyyymm)!="string") error("应指定文本型参数",2) var tm = ..time( yyyymm ) var tm2 = tm.addmonth(1) var days = tm2.addday(-1).day return days; }; //今天是不是最后的一个星期X var isLastWeek = function(now){ if(!now) now = ..time() if ( now.day + 7 > getDays(now.year+"-"+now.month)) { return true; }else { return false; } }; //指定日期是本月中的第几周 var weekOfMonth = function(now){ if(!now) now = ..time() if(isLastWeek(now)) return "last"; var day = now.day var ret = math.ceil(day / 7) return ret; } //创建任务 var task = taskScheduler.create("任务",function( arguments ){ if( table.find({1,2,3,"last"}, weekOfMonth(/*指定时间测试 time("2021-09-28")*/ ) ) ){ console.log("我是某时间段任务,我被触发了"++tostring(time())) } } , "参数") //设置任务触发时间 task.time = { dayofweek={1,2} second = {5,15,25,35,45,55} } mainForm.show(); return win.loopMessage();
1 个回复 | 最后更新于 2021-09-14
登录后方可回帖
感谢分享,关注后续用