本文档介绍日期值处理函数的语法与格式、相关的场景示例等。
时间处理函数,将时间日期值转为指定时区、指定格式的时间字符串。
dt_str(value, fmt="目标格式", tz=None)
参数说明如下:
参数 | 参数类型 | 是否必选 | 默认值 | 取值范围 | 说明 |
---|---|---|---|---|---|
value | String | 是 | / | / | 待转换的时间日期值。 |
fmt | String | 否 | / | / | 输出的日期字符串格式。 |
tz | String | 否 | / | 时区列表 | 转换的目标时区,默认为 None 。 |
场景:将日志中 time
字段的值转换为时间后,按照字段 fmt
指定的格式输出到字段 dt_str
中。
加工规则:
f_set("dt_str", dt_str(v("time"), fmt=v("fmt")))
日志样例:
{ "time":"2022-12-26 13:03:21", "fmt":"%Y/%m/%d %H-%M-%S" }
加工结果:
{ "time":"2022-12-26 13:03:21", "fmt":"%Y/%m/%d %H-%M-%S", "dt_str":"2022/12/26 13-03-21" }
将时间类的字段值按照指定的时区转换后,转换为 UTC 时间戳。
dt_to_timestamp(value, tz=None)
参数说明如下:
参数 | 参数类型 | 是否必选 | 默认值 | 取值范围 | 说明 |
---|---|---|---|---|---|
value | String | 是 | / | / | 待转换的值。 |
tz | String | 否 | / | 时区列表 | 转换的目标时区。 |
场景:将日志中的 time
字段的值按照 tz
字段指定的时区转换为时间后,输出 UTC 时间戳。
加工规则:
f_set("dt_to_timestamp", dt_to_timestamp(v("time"), v("tz")))
日志样例:
{ "time":"2022-12-26 13:03:21", "tz":"Asia/Shanghai" }
加工结果:
{ "time":"2022-12-26 13:03:21", "tz":"Asia/Shanghai", "dt_to_timestamp":1672031001 }
将时间类的时间戳字段,按照指定的时区转换为时间后,转换为时间字符串。
dt_from_timestamp(value, tz=None)
参数说明如下:
参数 | 参数类型 | 是否必选 | 默认值 | 取值范围 | 说明 |
---|---|---|---|---|---|
value | Number | 是 | / | / | 待转换的值。 |
tz | String | 否 | / | 时区列表 | 转换的目标时区。 |
场景:将日志中的 time
字段的值按照 tz
字段指定的时区转换为时间后,输出时间字符串。
加工规则:
f_set("dt_from_timestamp", dt_from_timestamp(v("time"), tz=v("tz")))
日志样例:
{ "time":"1672057815" }
加工结果:
{ "time":"1672057815", "dt_from_timestamp":"2022-12-26 20:30:15" }
获取加工计算时的本地时间。
dt_now(tz="")
参数说明如下:
参数 | 参数类型 | 是否必选 | 默认值 | 取值范围 | 说明 |
---|---|---|---|---|---|
tz | String | 否 | / | 时区列表 | 转换的目标时区。 |
场景:根据日志中的 tz
字段指定的时区,获取加工时的本地时间,输出到字段 dt_now
中。
加工规则:
f_set("dt_now", dt_now(tz=v("tz")))
日志样例:
{ "tz":"Asia/Shanghai" }
加工结果:
{ "tz":"Asia/Shanghai", "dt_now":"2022-12-27 19:56:31.223646+08:00" }