云数据迁移 CDM-时间宏变量使用解析:dateformat

时间:2024-05-16 11:41:40

dateformat

dateformat支持两种形式的参数:

  • dateformat(format)

    format表示返回日期的格式,格式定义参考“java.text.SimpleDateFormat.java”中的定义。

    例如当前日期为“2017-10-16 09:00:00”,则“yyyy-MM-dd HH:mm:ss”表示“2017-10-16 09:00:00”

  • dateformat(format, dateOffset, dateType)
    • format表示返回日期的格式。
    • dateOffset表示日期的偏移量。
    • dateType表示日期的偏移量的类型。

      目前dateType支持以下几种类型:SECOND(秒),MINUTE(分钟),HOUR(小时),DAY(天),MONTH(月),YEAR(年)。

      其中MONTH(月),YEAR(年)的偏移量类型存在特殊场景:

      • 对于年、月来说,若进行偏移后实际没有该日期,则按照日历取该月最大的日期。
      • 不支持在源端和目的端的“时间过滤”参数中的起始时间、终止时间使用年、月的偏移。

    例如当前日期为“2023-03-01 09:00:00”,则:

    • “dateformat(yyyy-MM-dd HH:mm:ss, -1, YEAR)”表示当前时间的前一年,也就是“2022-03-01 09:00:00”
    • “dateformat(yyyy-MM-dd HH:mm:ss, -3, MONTH)”表示当前时间的前三月,也就是“2022-12-01 09:00:00”
    • “dateformat(yyyy-MM-dd HH:mm:ss, -1, DAY)”表示当前时间的前一天,也就是“2023-02-28 09:00:00”
    • “dateformat(yyyy-MM-dd HH:mm:ss, -1, HOUR)”表示当前时间的前一小时,也就是“2023-03-01 08:00:00”
    • “dateformat(yyyy-MM-dd HH:mm:ss, -1, MINUTE)”表示当前时间的前一分钟,也就是“2023-03-01 08:59:00”
    • “dateformat(yyyy-MM-dd HH:mm:ss, -1, SECOND)”表示当前时间的前一秒,也就是“2023-03-01 08:59:59”
support.huaweicloud.com/usermanual-cdm/cdm_01_0068.html