更新时间:2024-11-07 GMT+08:00
日期时间字符串和Unix时间戳的相互转换
- 处理函数
- dt_str智能转换函数,可以将Unix时间戳、日期时间对象和日期时间字符串转化为指定格式的日期时间字符串。
- dt_strftimestamp函数只支持将Unix时间戳转化为日期时间字符串。
- dt_parsetimestamp智能转换函数,可以将日期时间字符串或日期时间对象转换为Unix时间戳。
- 场景1:不带时区信息的日期时间字符串类型转换为Unix时间戳。
对于不带时区信息的日期时间字符串如2019-06-02 18:41:26,将日期时间转化为Unix时间戳,需要指定该日期时间的时区,不同的时区转化得到的Unix时间戳的值不一样。
- 原始日志
{ "time": "2019-07-10 14:58:19" }
- 加工规则
e_set("Shanghai_timestamp", dt_parsetimestamp(v("time"), tz="Asia/Shanghai")) e_set("Los_Angeles_timestamp", dt_parsetimestamp(v("time"), tz="America/Los_Angeles")) e_set("UTC_timestamp", dt_parsetimestamp(v("time")))
- 加工结果
{ "time": "2019-07-10 14:58:19", "Shanghai_timestamp": 1562741899, "Los_Angeles_timestamp": 1562795899, "UTC_timestamp": 1562770699 }
- 原始日志
- 子场景2:自定义的不带时区的特殊日期格式转换成Unix时间戳。
- 原始日志
{ "time1" : "2019-07-10 06:58:19", "time2": "2019/07/10 06-58-19" }
- 加工规则
e_set("time3", dt_parsetimestamp(v("time1"))) e_set("time4", dt_parsetimestamp(dt_strptime(v("time2"), "%Y/%m/%d %H-%M-%S")))
- 加工结果
{ "time1": "2019-07-10 06:58:19", "time2": "2019/07/10 06-58-19", "time3": 1562741899, "time4": 1562741899 }
- 原始日志
父主题: 使用DSL加工函数处理日期时间