You need to enable JavaScript to run this app.
导航

平台时间变量与常量说明

最近更新时间2024.03.19 15:54:10

首次发布时间2021.09.14 11:21:01

大数据研发治理套件 DataLeap 支持任务中使用变量参数,可根据您配置的变量参数,实现在实际调度运行时,自动替换为具体的值,本文将为您介绍平台时间变量参数与常量参数的相关使用说明。

变量参数类型

目前支持时间变量任务输入参数两种变量参数类型,具体使用方式如下:

  • 时间变量:${时间变量名}
  • 任务输入参数:{{输入参数名}}

说明

  • 字段为 string 类型时,使用需带上引号如'${date}'、‘{{输入参数名}}’
  • 任务输入参数形式,支持上游任务输出结果传参、项目参数传参、自定义参数传参。详见6 输入输出参数

业务时间说明

  • 天任务业务时间=定时日期前一天0点,如定时时间为2019-01-02 08:13,其业务时间为 2019-01-01 00:00
  • 小时任务业务时间=定时时间前一个小时,如定时时间为2019-01-02 08:13,其业务时间为 2019-01-02 07:00
  • 分钟任务业务时间=定时时间往前寻找 0 或 5 整点时刻,最终业务时间为寻找整点时刻再往前一个 5 分钟,如定时时间为2019-01-02 08:13,其业务时间为 2019-01-02 08:05

时间变量说明

变量

含义

格式

示例

${DATE}

获取业务时间日期

yyyy-MM-dd

天任务:2019/01/02 8点执行,${DATE} =2019-01-01
小时任务:2019/01/02 8点执行,${DATE} =2019-01-02

${date}

获取业务时间日期

yyyyMMdd

天任务:2019/01/02 8点执行,${date} =20190101
小时任务:2019/01/02 8点执行,${date} =20190102

${day}

获取业务时间日期

dd

天任务:2019/01/02 8点执行,${day} =01
小时任务:2019/01/02 8点执行,${day} =02

${HOUR}

获取业务时间整点

h(整数)

天任务:2019/01/02 8点执行,${HOUR} =0
小时任务:2019/01/02 8点执行,${HOUR} =7

${hour}

获取业务时间整点

hh

天任务:2019/01/02 8点执行,${hour} =00
小时任务:2019/01/02 8点执行,${hour} =07

${MINUTE}

获取业务时间整分钟

m(整数)

天任务:2019/01/02 08:10点执行,${MINUTE} =0
小时任务:2019/01/02 08:10点执行,${MINUTE} =0
5分钟任务:2019/01/02 08:10点执行,${MINUTE} =5

${minute}

获取业务时间整分钟

mm

天任务:2019/01/02 08:10点执行,${minute} =00
小时任务:2019/01/02 08:10点执行,${minute} =00
5分钟任务:2019/01/02 08:10点执行,${minute} =05

${month}

获取业务时间月份

MM

天任务:2019/01/02 8点执行,${month} =01
小时任务:2019/01/02 8点执行,${month} =01

${year}

获取业务时间年份

yyyy

天任务:2019/01/02 8点执行,${year} =2019
小时任务:2019/01/02 8点执行,${year} =2019

${timestamp}

获取业务时间时间戳

XXXXXX...(整数)

天任务:2019/01/02 8点执行,${timestamp} =1546272000
小时任务:2019/01/02 8点执行,${timestamp} =1546383600

${week_of_year}

获取当前时间是本年的第几周

%02d

天任务:2019/01/02 8点执行,${week_of_year} =01
小时任务:2019/01/02 8点执行,${week_of_year} =01

${last_DATE}

获取业务时间所处月份的最后一天

yyyy-MM-dd

天任务:2019/01/02 8点执行,${last_DATE} =2019-01-31
小时任务:2019/01/02 8点执行,${last_DATE} =2019-01-31

${last_date}

获取业务时间所处月份的最后一天

yyyyMMdd

天任务:2019/01/02 8点执行,${last_date-1} =20181231
小时任务:2019/01/02 8点执行,${last_date-2} =20181130

${last_day}

获取业务时间所处月份的最后一天

dd

天任务:2019/01/02 8点执行,${last_day-1} =31
小时任务:2019/01/02 8点执行,${last_day-2} =30

${DTF-xxxx}

自定义时间格式

xxxx

天任务:2019/01/02 8点执行,${DTF-ddMMyy} =010119
小时任务:2019/01/02 8点执行,${DTF-ddMMyy} =020119

  • 基本运算法则:往前或者往后 n 个单位时间,如:
    1. ${DATE+n} or ${DATE-n} 获取业务时间往后 +n 天 or 往前 -n 天的日期;
    2. ${hour+n} or ${hour-n} 获取业务时间整点往后 +n 小时 or 往前 -n 小时的整点
  • 高级运算法则:${var+x+ym-zd+ph+qi},其中var代表时间变量,m代表月,d代表天,h代表小时,i代表分钟,即表达式表示业务时间加 x 单位时间(如果 var=date,加 x 天),加 y 个月,减 z 天,加 p 小时,加 q 秒,且最后按照 var 的输出格式输出,如:
    1. 例如业务时间=2019-01-01 00:00:00,${DTF-yyyyMMddHHmm-15i}=201812312345
    2. 例如业务时间=2019-01-01 00:00:00,${DTF-HHmm-1i}=2359
    3. 例如业务时间=2019-01-01 00:00:00,${date+1+2m}=20190302
    4. 例如业务时间=2019-01-01 00:00:00,${hour+3-1h}=02
  • 月级别任务常量配置推荐使用 ${var-1m},可支持跨年场景;
  • 获取任意月份最后一天:利用 ${last_date+N}、${last_DATE+N} 和 ${last_day+N} 可获取任意月份的最后一天,以2019-02-21执行结果为例:
    • ${last_DATE} = 2019-02-28
    • ${last_DATE-1} = 2019-01-31
    • ${last_date+1} = 20190331
    • ${last_day} = 28