时间表达式
简介
HertzBeat支持使用表达式计算监控采集时的相对时间,支持更加灵活的在监控模板中定义时间。
语法
${FORMATTER [{ + | - }<DURATION> <TIME_UNIT>]}
FORMATTER
: 决定表达式计算的结果的格式DURATION
: 时间段大小,正整数TIME_UNIT
: 时间段单位
支持的格式化类型
示例输出以当前时间为
2022-04-24 02:40:00.123
名称 | 描述 | 示例 |
---|---|---|
@now | 格式化为 yyyy-MM-dd HH:mm:ss | 2022-04-24 02:40:00 |
@date | 格式化为 yyyy-MM-dd | 2022-04-24 |
@timestamp10 | 返回10位时间戳 | 1650768000 |
@timestamp | 返回13位时间戳 | 1650768000000 |
@time | 格式化为 HH:mm:ss | 02:40:00 |
@year | 格式化为 yyyy | 2022 |
@month | 格式化为 MM | 04 |
@day | 格式化为 dd | 24 |
@hour | 格式化为 HH | 02 |
@minute | 格式化为 mm | 40 |
@millisecond | 格式化为 SSS | 123 |
@second | 格式化为 ss | 00 |
支持的时间单位
名称 | 描述 |
---|---|
y | 年 |
M | 月 |
d | 日 |
H | 小时 |
m | 分钟 |
s | 秒 |
w | 周 |
在哪里可以使用
- HTTP协议监控类型的请求参数
使用示例
- 简单表达式
${now}
获取当前时间,并格式化为yyyy-MM-dd HH:mm:ss
${time+1h}
计算当前时间一小时之后的时间,并格式化为HH:mm:ss
${time+1h+15s+30s}
计算当前时间一小时15分钟30秒之后的时间,并格式化为HH:mm:ss
- 复杂表达式模板(如果内置的格式化器无法满足需要,可以组合使用多个表达式)
${@year}年${@month}月${@day}日
,获取当前日期并按照 yyyy年MM月dd日格式返回