更新时间:2024-08-02 GMT+08:00
日期时间对象和日期时间字符串的相互转换
- 处理函数
- dt_parse智能转换函数可以将日期时间字符串或Unix时间戳转换为日期时间对象。
- dt_astimezone函数返回一个带新时区信息的日期时间对象。
- 场景1:不带时区信息的日期时间字符串转换成指定时区的日期时间对象。
对于不带时区信息的日期时间字符串2019-06-02 18:41:26,可以通过Unix时间戳,实现不同时区下的日期时间的相互转换。将洛杉矶时区的日期时间转换为上海时区的日期时间。
- 原始日志:已知time字段的值的时间是洛杉矶时间
{ "time" : "2019-06-04 2:41:26" }
- 加工规则
e_set("timestamp", dt_parsetimestamp(v("time"), tz="America/Los_Angeles")) e_set("Shanghai_time", dt_parse(v("timestamp"), tz="Asia/Shanghai"))
- 加工结果
{ "Shanghai_time": "2019-06-04 17:41:26+08:00", "time": "2019-06-04 2:41:26", "timestamp": 1559641286 }
- 原始日志:已知time字段的值的时间是洛杉矶时间
- 场景2:不带时区的日期时间字符串转换成带时区的日期时间对象。
- 原始日志
{ "time" : "2019-07-10 06:58:19" }
- 加工规则
e_set("new_time", dt_parse(v("time"), tz="Asia/Shanghai"))
- 加工结果
{ "new_time": "2019-07-10 06:58:19+08:00", "time": "2019-07-10 06:58:19" }
- 原始日志
- 场景3:带时区的日期时间字符串转换为目标时区的日期时间对象。
- 原始日志
{ "time" : "2019-06-04 2:41:26+08:00" }
- 加工规则
e_set("new_time",dt_astimezone(v("time"), "America/Los_Angeles"))
- 加工结果
{ "new_time": "2019-06-03 11:41:26-07:00", "time": "2019-06-04 2:41:26+08:00" }
- 原始日志
父主题: 使用DSL加工函数处理日期时间