本文档主要介绍日期时间函数的语法规则,包括参数解释、函数示例等。

日期时间函数主要有三种数据类型:日期时间对象、字符串和Unix时间戳。
说明 Unix时间戳本质上也是字符串。

在LOG DSL加工逻辑中,日志事件中的所有值都以字符串的形式存储,需要根据场景对数据类型进行转换。

本文档中除dt_parsedt_strdt_parsetimestamp函数支持三种类型作为参数,其他函数均需要保证参数类型的一致性。

函数列表

类型 函数 说明
通用日期时间转换 dt_parse 将值或时间表达式的值转换为日期时间对象。
dt_str 将值或时间表达式的值转换为字符串。
dt_parsetimestamp 将值或时间表达式的值转换为Unix时间戳。
dt_prop 获取值或时间表达式值的特定属性。
获取日期时间 dt_now 获取当前日期时间。
dt_today 获取当前日期,不含时间。
dt_utcnow 获取当前时区的当前日期时间。
dt_fromtimestamp 将Unix时间戳转换为日期时间对象。
dt_utcfromtimestamp 将Unix时间戳转换为当前时区的日期时间对象。
dt_strptime 将时间字符串解析为日期时间对象。
获取Unix时间戳 dt_currentstamp 获取Unix时间戳。
dt_totimestamp 将日期时间对象转换为Unix时间戳。
获取日期时间字符串 dt_strftime 将日期时间对象按照指定格式转换为字符串。
dt_strftimestamp 将Unix时间戳按照指定格式转换为字符串。
修改日期时间 dt_truncate 从值或时间表达式中截取指定的时间粒度。
dt_add 根据指定的时间粒度修改值或时间表达式的值。
dt_MO dt_add函数中传递给weekday参数用于表示特定星期一的偏移量,负数用op_neg(正数)表示。
dt_TU dt_add函数中传递给weekday参数用于表示特定星期二的偏移量,负数用op_neg(正数)表示。
dt_WE dt_add函数中传递给weekday参数用于表示特定星期三的偏移量,负数用op_neg(正数)表示。
dt_TH dt_add函数中传递给weekday参数用于表示特定星期四的偏移量,负数用op_neg(正数)表示。
dt_FR dt_add函数中传递给weekday参数用于表示特定星期五的偏移量,负数用op_neg(正数)表示。
dt_SA dt_add函数中传递给weekday参数用于表示特定星期六的偏移量,负数用op_neg(正数)表示。
dt_SU dt_add函数中传递给weekday参数用于表示特定星期日的偏移量,负数用op_neg(正数)表示。
修改日期时区 dt_astimezone 将值或时间表达式的值转换为特定时区的日期时间对象。
获取差异 dt_diff 按照特定粒度获取两个值或时间表达式值的差异值。

dt_parse

  • 函数格式
    dt_parse(值, tz=None)
  • 参数说明
    参数名称 参数类型 是否必填 说明
    字符串、Unix时间戳或日期时间对象 待转换的参数值。
    tz String 表示时区,默认为None。请参见时区列表
  • 返回结果

    返回转换后的日期时间对象。

  • 函数示例
    • 示例1:将time时间戳转化成日期时间。
      原始日志:
      time: 1559500886
      加工规则:
      e_set("test_time", dt_parse(v("time")))
      加工结果:
      time: 1559500886
      test_time: 2019-06-03 18:41:26 
    • 示例2:将time时间戳转化成日期时间,时区是上海。
      原始日志:
      time: 2019-06-01 10:10:10
      tz: Asia/Shanghai
      加工规则:
      e_set("test_time", dt_parse(v("time"),tz=v("tz")))
      加工结果:
      time: 2019-06-01 10:10:10
      tz: Asia/Shanghai
      test_time: 2019-06-01 10:10:10+08:00

dt_str

  • 函数格式
    dt_str(值, fmt="格式化字符串", tz=None)
  • 参数说明
    参数名称 参数类型 是否必填 说明
    字符串、Unix时间戳或日期时间对象 时间表达式。
    fmt String 格式化字符串。请参见日期时间格式化指令。默认格式保持不变。
    tz String 表示时区,默认为None。请参见时区列表
  • 返回结果

    返回转换后的时间字符串。

  • 函数示例
    • 示例1:把time时间格式转换成fmt形式,时区东京。
      原始日志:
      time: 2019-06-03 02:41:26
      fmt: %Y/%m/%d %H-%M-%S
      tz: Asia/Tokyo
      加工规则:
      e_set("dt_str", dt_str(v("time"),fmt=v("fmt"),tz=v("tz")))
      加工结果:
      time: 2019-06-03 02:41:26
      fmt: %Y/%m/%d %H-%M-%S
      tz: Asia/Tokyo
      dt_str: 2019/06/03 02-41-26
    • 示例2:把time时间格式转换成fmt形式。
      原始日志:
      time: 1559500886
      fmt: %Y/%m/%d %H-%M-%S
      加工规则:
      e_set("dt_str", dt_str(v("time"),fmt=v("fmt")))
      加工结果:
      time: 1559500886
      fmt: %Y/%m/%d %H-%M-%S
      dt_str: 2019/06/03 02-41-26
    • 示例3:把time时间格式转换成默认形式。
      原始日志:
      time: 2019-06-03 02:41:26
      加工规则:
      e_set("dt_str", dt_str(v("time")))
      加工结果:
      time: 2019-06-03 02:41:26
      dt_str: 2019-06-03 02:41:26

dt_parsetimestamp

  • 函数格式
    dt_parsetimestamp(值, tz=None)
  • 参数说明
    参数名称 参数类型 是否必填 说明
    字符串、Unix时间戳或日期时间对象 时间表达式。
    tz String 表示时区,默认为None。请参见时区列表
  • 返回结果

    返回转换后的Unix时间戳。

  • 函数示例
    • 示例1:把time转换成时间戳,时区是东京。
      原始日志:
      time: 2019-06-03 2:41:26
      tz: Asia/Tokyo
      加工规则:
      e_set("dt_parsetimestamp", dt_parsetimestamp(v("time"),v("tz")))
      加工结果:
      time: 2019-06-03 2:41:26
      tz: Asia/Tokyo
      dt_parsetimestamp: 1559500886
    • 示例2:把time转换成时间戳。
      原始日志:
      time: 2019-06-03 2:41:26
      加工规则:
      e_set("dt_parsetimestamp",dt_parsetimestamp(v("time")))
      加工结果:
      time: 2019-06-03 2:41:26
      dt_parsetimestamp: 1559529686
    • 示例3:把time转换成时间戳。
      原始日志:
      time: 2019-06-03 02:41:26+8:00
      加工规则:
      e_set("dt_parsetimestamp",dt_parsetimestamp(v("time")))
      加工结果:
      time: 2019-06-03 02:41:26+8:00
      dt_parsetimestamp: 1559500886

dt_prop

  • 函数格式
    dt_prop(值, 属性名)
  • 参数说明
    参数名称 参数类型 是否必填 说明
    字符串、Unix时间戳或日期时间对象 时间表达式。
    属性名 String 需要获取的属性。 例如属性名为year,则只会输出年份。 参数值可以为dayyearmonthhoursecondminutemicrosecondweekdayweekdaynameweekdayshortnamemonthnamemonthshortnamedayofyeardayofweekweekofyearweekofyear_mtznameweekofmonth
  • 返回结果

    返回提取的属性。

  • 函数示例
    • 示例1:提取time的day属性值。
      原始日志:
      time: 2018-10-2 09:11:40
      day: day
      加工规则:
      e_set("dt_parsetimestamp",dt_prop(dt_parse(v("time")),v("day")))
      加工结果:
      time: 2018-10-2 09:11:40
      day: day
      dt_prop: 2
    • 示例2:提取time的year属性值。
      原始日志:
      time: 2018-10-2 09:11:40
      year: year
      加工规则:
      e_set("dt_parsetimestamp",dt_prop(dt_parse(v("time")),v("year")))
      加工结果:
      time: 2018-10-2 09:11:40
      year: year
      dt_prop: 2018
    • 示例3:提取time的weekdayname属性值。
      原始日志:
      time: 2018-10-2 09:11:40
      weekdayname: weekdayname
      加工规则:
      e_set("dt_prop",dt_prop(dt_parse(v("time")),v("weekdayname")))
      加工结果:
      time: 2018-10-2 09:11:40
      weekdayname: weekdayname
      dt_prop: Monday
    • 示例4:提取time的weekofyear属性值。
      原始日志:
      time: 2018-10-2 09:11:40
      weekofyear: weekofyear
      加工规则:
      e_set("dt_prop",dt_prop(dt_parse(v("time")),v("weekofyear")))
      加工结果:
      time: 2018-10-2 09:11:40
      weekofyear: weekofyear
      dt_prop: 22

dt_now

  • 函数格式
    dt_now(tz=None)
  • 参数说明
    参数名称 参数类型 是否必填 说明
    tz String 表示时区,默认为None。请参见时区列表
  • 返回结果

    返回指定时区的时间对象。

  • 函数示例:获取当前时间,时区是上海。
    原始日志:
    tz: Asia/Shanghai
    加工规则:
    e_set("dt_now",dt_now(tz=v("tz")))
    加工结果:
    tz: Asia/Shanghai
    dt_now: 2019-06-10 11:24:00.655290

dt_today

  • 函数格式
    dt_today(tz=None)
  • 参数说明
    参数名称 参数类型 是否必填 说明
    tz String 表示时区,默认为None。请参见时区列表
  • 返回结果

    返回指定时区的日期对象。

  • 函数示例:获取当前日期。
    加工规则:
    e_set("dt_today",dt_today())
    加工结果:
    dt_today: 2019-06-10

dt_utcnow

  • 功能介绍

    获取当前时区的当前日期时间。

  • 函数格式
    dt_utcnow()
  • 参数说明

    无。

  • 返回结果

    返回当前时间的当前时间对象。

  • 函数示例:获取当前时区的当前时间。
    加工规则:
    e_set("dt_utcnow",dt_utcnow())
    加工结果:
    dt_utcnow: 2019-06-10 03:32:51.510494

dt_fromtimestamp

  • 函数格式
    dt_fromtimestamp(值, tz=None)
  • 参数说明
    参数名称 参数类型 是否必填 说明
    String 需要被转换的Unix时间戳的值或者表达式。
    tz String 表示时区,默认为None。请参见时区列表
  • 返回结果

    返回转换后的日期时间。

  • 函数示例
    • 示例1:把time时间戳转化成日期时间。
      原始日志:
      time: 1559500886
      加工规则:
      e_set("dt_fromtimestamp",dt_fromtimestamp(v("time")))
      加工结果:
      time: 1559500886
      dt_fromtimestamp: 2019-06-03 02:41:26
    • 示例2:把time时间戳转化成日期时间,时区上海。
      原始日志:
      time: 1559500886
      tz: Asia/Shanghai
      加工规则:
      e_set("dt_fromtimestamp",dt_fromtimestamp(v("time"),tz=v("tz")))
      加工结果:
      time: 1559500886
      tz: Asia/Shanghai
      dt_fromtimestamp: 2019-06-03 02:41:26+08:00

dt_utcfromtimestamp

  • 功能介绍

    将Unix时间戳转化为当前时区的日期时间。

  • 函数格式
    dt_utcfromtimestamp(值)
  • 参数说明
    参数名称 参数类型 是否必填 说明
    String 需要被转换的Unix时间戳的值或者表达式。
  • 返回结果

    返回转换后的日期时间对象。

  • 函数示例
    原始日志:
    time: 1559500886
    加工规则:
    e_set("dt_utcfromtimestamp",dt_utcfromtimestamp(v("time")))
    加工结果:
    time: 1559500886
    dt_utcfromtimestamp: 2019-06-02 18:41:26

dt_strptime

  • 函数格式
    dt_strptime(值, "格式化字符串")
  • 参数说明
    参数名称 参数类型 是否必填 说明
    String 需要被解析的字符串。
    fmt String 格式化字符串,请参见日期时间格式化指令
  • 返回结果

    返回解析后的日期时间对象。

  • 函数示例
    原始日志:
    time: 2019/06/03 02-41-26
    fmt: %Y/%m/%d %H-%M-%S
    加工规则:
    e_set("dt_strptime",dt_strptime(v("time",v("fmt"))))
    加工结果:
    time: 2019/06/03 02-41-26
    fmt: %Y/%m/%d %H-%M-%S
    dt_strptime: 2019-06-03 02:41:26

dt_currentstamp

  • 功能介绍

    获取当前Unix时间戳。

  • 函数格式
    dt_currentstamp(值, normalize='floor')
  • 参数说明
    参数名称 参数类型 是否必填 说明
    String 需要被解析的字符串。
    normalize String 计算结果数字格式。参数取值为:
    • floor:默认值,表示向下取整。
    • int:取整。
    • round:四舍五入。
    • ceil:向上取整。
  • 返回结果

    返回当前Unix时间戳。

  • 函数示例
    加工规则:
    e_set("dt_currentstamp",dt_currentstamp())
    加工结果:
    dt_currentstamp: 1559500886

dt_totimestamp

  • 功能介绍

    将日期时间对象转换为Unix时间戳。

  • 函数格式
    dt_totimestamp(日期时间表达式)
  • 参数说明
    参数名称 参数类型 是否必填 说明
    日期时间表达式 日期时间对象 需要被转换的日期时间对象。
  • 返回结果

    返回转换后的Unix时间戳。

  • 函数示例
    原始日志:
    time: 2019-06-03 2:41:26
    加工规则:
    e_set("dt_totimestamp",dt_totimestamp(dt_parse(v("time"))))
    加工结果:
    time: 2019-06-03 2:41:26
    dt_totimestamp: 1559500886

dt_strftime

  • 函数格式
    dt_strftime(日期时间表达式, "格式化字符串")
  • 参数说明
    参数名称 参数类型 是否必填 说明
    日期时间表达式 日期时间对象 需要被转换的日期时间对象。
    格式化字符串 String 格式化字符串,请参见日期时间格式化指令
  • 返回结果

    返回格式化后的字符串。

  • 函数示例:将time按照fmt格式转换。
    原始日志:
    time: 2019-06-03 2:41:26
    fmt: %Y/%m/%d %H-%M-%S
    加工规则:
    e_set("dt_strftime",dt_strftime(dt_parse(v("time")),v("fmt")))
    加工结果:
    time: 2019-06-03 2:41:26
    fmt: %Y/%m/%d %H-%M-%S
    dt_strftime: 2019/06/03 02-41-26

dt_strftimestamp

  • 函数格式
    dt_strftimestamp(值, fmt="格式化字符串", tz=None)
  • 参数说明
    参数名称 参数类型 是否必填 说明
    String 需要被转换的Unix时间戳。
    fmt String 格式化字符串,请参见日期时间格式化指令
    tz String 表示时区,默认为None。请参见时区列表
  • 返回结果

    返回格式化后的字符串。

  • 函数示例
    • 示例1
      原始日志:
      time: 1559500886
      fmt: %Y/%m/%d %H-%M-%S
      加工规则:
      e_set("dt_strftimestamp",dt_strftimestamp(v("time"),v("fmt")))
      加工结果:
      time: 1559500886
      fmt: %Y/%m/%d %H-%M-%S
      dt_strftimestamp: 2019/06/03 02-41-26
    • 示例2
      原始日志:
      time: 1559500886
      fmt: %Y/%m/%d %H-%M-%S
      tz: Asia/Tokyo
      加工规则:
      e_set("dt_strftimestamp",dt_strftimestamp(v("time"),v("fmt"),v("tz")))
      加工结果:
      time: 1559500886
      fmt: %Y/%m/%d %H-%M-%S
      tz: Asia/Tokyo
      dt_strftimestamp: 2019/06/03 03-41-26 +0900

dt_truncate

  • 函数格式
    dt_truncate(值, unit='day')
  • 参数说明
    参数名称 参数类型 是否必填 说明
    字符串、Unix时间戳或日期时间对象 时间表达式。
    unit String 需要获取的时间属性粒度。 默认为day。可选secondminute<num>_minute (例如:5_minute, 19_minute, 2_minute等)hourdayweekmonthquarterhalf_yearyear
  • 返回结果

    返回提取的特定时间粒度。

  • 函数示例
    • 示例1
      原始日志:
      time: 2019-06-03 2:41:26
      unit: year
      加工规则:
      e_set("dt_truncate",dt_truncate(v("time"),v("unit")))
      加工结果:
      time: 2019-06-03 2:41:26
      unit: year
      dt_truncate: 2019-01-01 00:00:00
    • 示例2
      原始日志:
      time: 2019-06-03 2:41:26
      unit: hour
      加工规则:
      e_set("dt_truncate",dt_truncate(v("time"),v("unit")))
      加工结果:
      time: 2019-06-03 2:41:26
      unit: hour
      dt_truncate: 2019-06-03 02:00:00

dt_add

  • 函数格式
    dt_add(值, dt1=None, dt2=None, year(s)=None, month(s)=None, day(s)=None, hour(s)=None, minute(s)=None, second(s)=None, microsecond(s)=None, week(s)=None, weekday=None)
  • 参数说明
    参数名称 参数类型 是否必填 说明
    字符串、Unix时间戳或日期时间对象 传入日期时间表达式。
    dt1 字符串、Unix时间戳或日期时间对象 传入日期时间表达式,默认为None。
    dt2 字符串、Unix时间戳或日期时间对象 传入日期时间表达式,默认为None。
    year/years Number
    • year:表示需要替换的年份,例如year=2020,默认为None。
    • years:表示需要增加年份的数量,如years=1表示在原来year的基础上再增加一年。
    day/days Number
    • day:表示需要替换的天,例如day=1,默认为None。
    • days:表示需要增加天的数量,如days=1表示在原来day的基础上加一天。
    hour/hours Number
    • hour:表示需要替换的小时,例如hour=1,默认为None。
    • hours:表示需要增加小时的数量,如hours=1表示在原来hour的基础上加一小时。
    minute/minutes Number
    • minute:表示需要替换的分钟,例如minute=1,默认为None。
    • minutes:表示需要增加分钟的数量,如minutes=1表示在原来minute的基础上加一分钟。
    second/seconds Number
    • second:表示需要替换的秒数,例如second=1,默认为None。
    • seconds:表示需要增加秒的数量,如seconds=1表示在原来second的基础上加一秒钟。
    microsecond/microseconds Number
    • microsecond:表示需要替换的毫秒数,例如microsecond=1,默认为None。
    • microseconds:表示需要增加毫秒的数量,microseconds=1表示在原来microsecond的基础上加一毫秒。
    week/weeks Number
    • week:表示需要偏移的周数,例如week=1,默认为None。
    • weeks:表示需要增加周的数量,weeks=1表示在原来week的基础上加一周。
    weekday Number 表示需要偏移的工作日,例如weekday=dt_MO(1),默认为None。
  • 返回结果

    返回修改后的时间表达式。

  • 函数示例
    • 示例1
      原始日志:
      dt: 2018-10-10 1:2:3
      dt1: 2018-11-3 11:12:13
      dt2: 2018-10-1 10:10:10
      加工规则:
      e_set("dt_add",dt_add(dt_parse(v("dt")), dt1=dt_parse(v("dt1")), dt2=dt_parse(v("dt2"))))
      加工结果:
      dt: 2018-10-10 1:2:3
      dt1: 2018-11-3 11:12:13
      dt2: 2018-10-1 10:10:10
      dt_add: 2018-11-12 02:04:06
    • 示例2
      原始日志:
      dt: 2018-10-11 02:03:04
      year: 2019
      加工规则:
      e_set("dt_add",dt_add(dt_parse(v("dt")),v("year")))
      加工结果:
      dt: 2018-10-11 02:03:04
      year: 2019
      dt_add: 2019-10-11 02:03:04

dt_MO

  • 函数格式
    dt_MO(整数或负数)
  • 参数说明
    参数名称 参数类型 是否必填 说明
    整数或负数 Number 传入偏移量。如果需要传入负数,请使用op_neg(正数)
  • 返回结果

    返回偏移后的时间。

  • 函数示例
    原始日志:
    time: 2019-08-13 02:03:04
    加工规则:
    e_set("dt_MO",dt_add(v("time"),weekday=dt_MO(1)))
    加工结果:
    time: 2019-08-13 02:03:04
    dt_MO: 2019-08-19 02:03:04

dt_TU

  • 函数格式
    dt_TU(整数或负数)
  • 参数说明
    参数名称 参数类型 是否必填 说明
    整数或负数 Number 传入偏移量。如果需要传入负数,请使用op_neg(正数)
  • 返回结果

    返回偏移后的时间。

  • 函数示例

    请参见dt_MO函数示例。

dt_WE

  • 函数格式
    dt_WE(整数或负数)
  • 参数说明
    参数名称 参数类型 是否必填 说明
    整数或负数 Number 传入偏移量。如果需要传入负数,请使用op_neg(正数)
  • 返回结果

    返回偏移后的时间。

  • 函数示例

    请参见dt_MO函数示例。

dt_TH

  • 函数格式
    dt_TH(整数或负数)
  • 参数说明
    参数名称 参数类型 是否必填 说明
    整数或负数 Number 传入偏移量。如果需要传入负数,请使用op_neg(正数)
  • 返回结果

    返回偏移后的时间。

  • 函数示例

    请参见dt_MO函数示例。

dt_FR

  • 函数格式
    dt_FR(整数或负数)
  • 参数说明
    参数名称 参数类型 是否必填 说明
    整数或负数 Number 传入偏移量。如果需要传入负数,请使用op_neg(正数)
  • 返回结果

    返回偏移后的时间。

  • 函数示例

    请参见dt_MO函数示例。

dt_SA

  • 函数格式
    dt_SA(整数或负数)
  • 参数说明
    参数名称 参数类型 是否必填 说明
    整数或负数 Number 传入偏移量。如果需要传入负数,请使用op_neg(正数)
  • 返回结果

    返回偏移后的时间。

  • 函数示例

    请参见dt_MO函数示例。

dt_SU

  • 函数格式
    dt_SU(整数或负数)
  • 参数说明
    参数名称 参数类型 是否必填 说明
    整数或负数 Number 传入偏移量。如果需要传入负数,请使用op_neg(正数)
  • 返回结果

    返回偏移后的时间。

  • 函数示例

    请参见dt_MO函数示例。

dt_astimezone

  • 函数格式
    dt_astimezone(值, 时区名称, reset=False)
  • 参数说明
    参数名称 参数类型 是否必填 说明
    字符串、Unix时间戳或日期时间对象 需要被修改的时间表达式。
    tz String 表示时区,默认为None。请参见时区列表
    reset Bool 表示是否对时区重新设置,默认为False表示不设置。如果为True则返回原时间加上设置的时区。
  • 返回结果

    返回特定时区的日期时间对象。

  • 函数示例
    • 示例1
      原始日志:
      time: 2019-06-03 2:41:26
      tz: UTC
      加工规则:
      e_set("dt_astimezone",dt_astimezone(dt_parse(v("time")), v("tz")))
      加工结果:
      time: 2019-06-03 2:41:26
      tz: UTC
      dt_astimezone: 2019-06-03 02:41:26+00:00
    • 示例2
      原始日志:
      time: 2019-06-01 10:10:10+10:00
      tz: Asia/Tokyo
      加工规则:
      e_set("dt_astimezone",dt_astimezone(v("time"), v("tz"),reset=True))
      加工结果:
      time: 2019-06-01 10:10:10+10:00
      tz: Asia/Tokyo
      dt_astimezone: 2019-06-01 10:10:10+09:00
    • 示例3
      原始日志:
      time: 2019-06-01 10:10:10+08:00
      tz: Asia/Tokyo
      加工规则:
      e_set("dt_astimezone",dt_astimezone(v("time"), v("tz"),reset=False))
      e_set("dt_astimezone_true",dt_astimezone(v("time"), v("tz"),reset=True))
      加工结果:
      time: 2019-06-01 10:10:10+08:00
      tz: Asia/Tokyo
      dt_astimezone: 2019-06-01 11:10:10+09:00
      dt_astimezone_true: 2019-06-01 10:10:10+09:00

dt_diff

  • 函数格式
    dt_diff(值1, 值2, unit='second', normalize='floor')
  • 参数说明
    参数名称 参数类型 是否必填 说明
    值1 字符串、Unix时间戳或日期时间对象 需要被比较的时间表达式1。
    值2 字符串、Unix时间戳或日期时间对象 需要被比较的时间表达式2。
    unit String 按照输入时间属性返回,默认second。也可以是microsecondmillisecondminuteshoursday等。
    normalize String 计算结果数字格式。参数取值为:
    • floor:默认值,表示向下取整。
    • int:取整。
    • round:四舍五入。
    • ceil:向上取整。
  • 返回结果

    返回按照特定粒度获取的两个值的差异值。

  • 函数示例
    • 示例1
      原始日志:
      time1: 2018-10-1 10:10:10
      time2: 2018-10-1 10:10:10
      加工规则:
      e_set("diff",dt_diff(v("time1"), v("time2")))
      加工结果:
      time1: 2018-10-1 10:10:10
      time2: 2018-10-1 10:10:10
      diff: 0
    • 示例2
      原始日志:
      time1: 2018-10-1 11:10:10
      time2: 2018-10-1 10:10:10
      加工规则:
      e_set("diff",dt_diff(v("time1"), v("time2")))
      加工结果:
      time1: 2018-10-1 11:10:10
      time2: 2018-10-1 10:10:10
      diff: 3600
    • 示例3
      原始日志:
      time1: 2018-10-1 11:10:11
      time2: 2018-10-1 10:10:10
      unit: microsecond
      加工规则:
      e_set("diff",dt_diff(v("time1"), v("time2"),v("unit")))
      加工结果:
      time1: 2018-10-1 11:10:11
      time2: 2018-10-1 10:10:10
      unit: microsecond
      diff: 1000000
    • 示例4
      原始日志:
      time1: 2018-10-1 11:11:59
      time2: 2018-10-1 10:10:00
      unit: minute
      normalize: floor
      加工规则:
      dt_diff(v("time1"), v("time2"),v("unit"),v("normalize"))
      加工结果:
      time1: 2018-10-1 11:11:59
      time2: 2018-10-1 10:10:00
      unit: minute
      normalize: floor
      diff: 61
    • 示例5:只对time做运算。
      原始日志:
      time1: 10:00:00
      time2: 11:00:00
      unit: second
      normalize: floor
      加工规则:
      dt_diff(v("time1"), v("time2"),v("unit"),v("normalize"))
      加工结果:
      time1: 10:00:00
      time2: 11:00:00
      unit: second
      normalize: floor
      diff: 3600