跳到主要内容
版本:v1.6.x

时间表达式

简介

HertzBeat支持使用表达式计算监控采集时的相对时间,支持更加灵活的在监控模板中定义时间。

语法

${FORMATTER [{ + | - }<DURATION> <TIME_UNIT>]}
  • FORMATTER : 决定表达式计算的结果的格式
  • DURATION : 时间段大小,正整数
  • TIME_UNIT : 时间段单位

支持的格式化类型

示例输出以当前时间为 2022-04-24 02:40:00.123

名称描述示例
@now格式化为 yyyy-MM-dd HH:mm:ss2022-04-24 02:40:00
@date格式化为 yyyy-MM-dd2022-04-24
@timestamp10返回10位时间戳1650768000
@timestamp返回13位时间戳1650768000000
@time格式化为 HH:mm:ss02:40:00
@year格式化为 yyyy2022
@month格式化为 MM04
@day格式化为 dd24
@hour格式化为 HH02
@minute格式化为 mm40
@millisecond格式化为 SSS123
@second格式化为 ss00

支持的时间单位

名称描述
y
M
d
H小时
m分钟
s
w

在哪里可以使用

  • HTTP协议监控类型的请求参数

使用示例

  1. 简单表达式
    • ${now} 获取当前时间,并格式化为 yyyy-MM-dd HH:mm:ss
    • ${time+1h} 计算当前时间一小时之后的时间,并格式化为 HH:mm:ss
    • ${time+1h+15s+30s} 计算当前时间一小时15分钟30秒之后的时间,并格式化为 HH:mm:ss
  2. 复杂表达式模板(如果内置的格式化器无法满足需要,可以组合使用多个表达式)
    • ${@year}年${@month}月${@day}日,获取当前日期并按照 yyyy年MM月dd日格式返回