DataLeap为您提供数据开发任务调度时使用的时间变量调度参数,可根据任务中配置的变量参数,在每次运行时,通过解析后自动替换为实际运行的参数值,实现每天任务调度时,时间参数的动态替换。
任务代码中可使用两种类型的变量,系统提供的时间变量和任务中定义的输入参数,具体使用方式如下:
说明
字段为String类型时,参数使用时需带上引号,如’${date}’。
变量 | 含义 | 格式 | 示例 |
|---|---|---|---|
${DATE} | 获取业务时间日期 | yyyy-MM-dd | 天任务:2019/01/02 8点执行,${DATE} =2019-01-01 |
${date} | 获取业务时间日期 | yyyyMMdd | 天任务:2019/01/02 8点执行,${date} =20190101 |
${day} | 获取业务时间日期 | dd | 天任务:2019/01/02 8点执行,${day} =01 |
${HOUR} | 获取业务时间整点 | h(整数) | 天任务:2019/01/02 8点执行,${HOUR} =0 |
${hour} | 获取业务时间整点 | hh | 天任务:2019/01/02 8点执行,${hour} =00 |
${month} | 获取业务时间月份 | MM | 天任务:2019/01/02 8点执行,${month} =01 |
${year} | 获取业务时间年份 | yyyy | 天任务:2019/01/02 8点执行,${year} =2019 |
${timestamp} | 获取业务时间时间戳 | XXXXXX...(整数) | 天任务:2019/01/02 8点执行,${timestamp} =1546272000 |
${last_DATE} | 获取业务时间所处月份的最后一天 | yyyy-MM-dd | 天任务:2019/01/02 8点执行,${last_DATE} =2019-01-31 |
${last_date} | 获取业务时间所处月份的最后一天 | yyyyMMdd | 天任务:2019/01/02 8点执行,${last_date-1} =20181231 |
${last_day} | 获取业务时间所处月份的最后一天 | dd | 天任务:2019/01/02 8点执行,${last_day-1} =31 |
${week_start} | 获取业务时间所处日期那周的第一天,定义周一为每周的第一天 | yyyyMMdd | 天任务:2019/01/02 8点执行,${week_start} =20181231 |
${WEEK_start} | 获取业务时间所处日期那周的第一天,定义周一为每周的第一天 | yyyy-MM-dd | 天任务:2019/01/02 8点执行,${WEEK_start} =2018-12-31 |
${weekyear} | 获取业务时间处于一年中的第几周。 | 01~50+ | 天任务:2019/01/02 8点执行,${weekyear} =01 |
${week_of_year} | 获取业务时间处于一年中的第几周。
| 01~50+ | 天任务:2019/01/02 8点执行,${weekyear} =01 |
${tend_start} | 获取业务时间所处日期处于上、中、下旬的旬初日期,定义:
| yyyyMMdd | 天任务:2019/01/02 8点执行,${tend_start} =20190101 |
${TEND_start} | 获取业务时间所处日期处于上、中、下旬的旬初日期,定义:
| yyyy-MM-dd | 天任务:2019/01/02 8点执行,${TEND_start} =2019-01-01 |
${quarter_start} | 获取业务时间所处日期的季度初日期 | yyyyMMdd | 天任务:2019/01/02 8点执行,${quarter_start} =20190101 |
${QUARTER_start} | 获取业务时间所处日期的季度初日期 | yyyy-MM-dd | 天任务:2019/01/02 8点执行,${QUARTER_start} =2019-01-01 |
${week_end} | 获取业务时间所处日期那周的最后一天,定义周日为每周的最后一天 | yyyyMMdd | 天任务:2019/01/02 8点执行,${week_end} =20190106 |
${WEEK_end} | 获取业务时间所处日期那周的最后一天,定义周日为每周的最后一天 | yyyy-MM-dd | 天任务:2019/01/02 8点执行,${WEEK_end} =2019-01-06 |
${week_end_saturday} | 获取业务时间所处日期那周周六对应的日期 | yyyyMMdd | 天任务:2019/01/02 8点执行,${week_end_saturday} =20190105 |
${WEEK_end_saturday} | 获取业务时间所处日期那周周六对应的日期 | yyyy-MM-dd | 天任务:2019/01/02 8点执行,${WEEK_end_saturday} =2019-01-05 |
${tend_end} | 获取业务时间所处日期处于上、中、下旬的旬末日期,定义:
| yyyyMMdd | 天任务:2019/01/02 8点执行,${tend_end} =20190110 |
${TEND_end} | 获取业务时间所处日期处于上、中、下旬的旬末日期,定义:
| yyyy-MM-dd | 天任务:2019/01/02 8点执行,${TEND_end} =2019-01-10 |
${quarter_end} | 获取业务时间所处日期的季度末日期 | yyyyMMdd | 天任务:2019/01/02 8点执行,${quarter_end} =20190331 |
${QUARTER_end} | 获取业务时间所处日期的季度末日期 | yyyy-MM-dd | 天任务:2019/01/02 8点执行,${QUARTER_end} =2019-03-31 |
${quarter_end -1} | 获取业务时间所处日期的上个季度末日期 | yyyyMMdd | 天任务:2019/01/02 8点执行,${quarter_end -1} =20181231 |
${QUARTER_end -1} | 获取业务时间所处日期的上个季度末日期 | yyyy-MM-dd | 天任务:2019/01/02 8点执行,${QUARTER_end -1} =2018-12-31 |
${date - 1y} | 获取业务时间所处日期去年的同个日期 | yyyyMMdd | 天任务:2019/01/02 8点执行,${date - 1y} =20180101 |
${DATE - 1y} | 获取业务时间所处日期去年的同个日期 | yyyy-MM-dd | 天任务:2019/01/02 8点执行,${DATE - 1y} =20180101 |
${date - 2} | 获取业务时间日期往前几天的日期 | yyyyMMdd | 天任务:2019/01/02 8点执行,${date - 2} =20181230 |
${date - 1m} | 获取业务时间日期上个月对应的日期 | yyyyMMdd | 天任务:2019/01/02 8点执行,${date - 1m} =20181201 |
${runtime} | 获取任务实例运行时,实例实际的启动时间 | yyyy-MM-dd HH:mm:ss | 天任务:2019/01/02 8点执行,${runtime} =当前实例实际启动时间 |
${cyctime} | 获取任务调度设置中设置的任务定时时间 说明
| yyyymmddhh24miss | 天任务:2019/01/02 8点执行,${cyctime} =20190102080000 |
仅设置调度日历才能生效的参数:${calendar_day}、${calendar_month}
注意
+1:遵循 ${calendar_day} 的加减逻辑。即 ${calendar_month+1},是按定时时间的所在日,加一个**有效的定时时间**后,获取到对应 ${calendar_day} 取值,并解析该取值所在月份;+1m: ${calendar_month} 的二次计算逻辑,是在解析到 ${calendar_day} 值的基础上,再加 1 个月。下方摘取了调度日历文件中部分定时时间,当前定时时间为2024-12-16时:
定时时间 | ${calendar_day}取值 | schedule |
|---|---|---|
2024/12/12(星期四) | 2024/12/12 | TRUE |
2024/12/13(星期五) | 2024/12/13 | TRUE |
2024/12/14(星期六) | none | FALSE |
2024/12/15(星期日) | none | FALSE |
2024/12/16(星期一) | 2024/12/16 | TRUE |
2024/12/17(星期二) | 2024/12/17 | TRUE |
2025/01/12(星期日) | none | FALSE |
2025/01/13(星期一) | 2025/01/13 | TRUE |
2025/01/14(星期二) | 2025/01/14 | TRUE |
2025/01/15(星期三) | 2025/01/15 | TRUE |
2025/01/16(星期四) | 2025/01/16 | TRUE |
2025/01/17(星期五) | 2025/01/17 | TRUE |
${calendar_day-1+1d}的取值为none${calendar_day+1d-1}的取值为 2024/12/16${calendar_month+1+1m}的取值为 2025/01注意
${calendar_day}相关的计算公式中,-1、+1d在一个 ${calendar_day} 中分别仅能出现一次,不能出现多次,如${calendar_day-1+1d-3+5d}公式不符合计算要求。