一个时间选择器, 用于选择时间范围, 以及时间粒度.
基础语法规则: [+|-]<time_integer><time_unit>@<time_modifier><time_expression>
一个整数, 表示时间的数量, 例如: 1d
, 表示 1 天后, 2w
表示 2 周后.
时间单位, 共支持 6 种时间日期单位(s/m/h/d/w/mon/q/y)
:
- s: 秒
- m: 分钟
- h: 小时
- d: 天
- w: 周
- mon: 月
- q: 季度
- y: 年
例如: -1h
, 表示 1 小时前, 2w
, 表示 2 周后.
-
常规修饰符:
(now/@s/@m/@h/@d/@w/@mon/@q/@y/@w0~w7)
- now: 当前时间; 例如:
now
>2023-09-01 10:16:07
- @s: 当前秒开始; 例如:
@s
>2023-09-01 10:16:07
- @m: 当前分钟开始; 例如:
@m
>2023-09-01 10:16:00
- @h: 当前小时开始; 例如:
@h
>2023-09-01 10:00:00
- @d: 当前天开始; 例如:
@d
>2023-09-01 00:00:00
- @w: 当前周开始(周一); 例如:
@w
>2023-08-28 00:00:00
- @mon: 当前月开始; 例如:
@mon
>2023-09-01 00:00:00
- @q: 当前季度开始; 例如:
@q
>2023-07-01 00:00:00
- @y: 当前年开始; 例如:
@y
>2023-01-01 00:00:00
- @w0~w7:
@w0/@w7
表示周日,@w1
表示周一, 以此类推; 例如:@w1
>2023-08-28 00:00:00
- now: 当前时间; 例如:
-
扩展修饰符:
(@ts/@m0~59/@h0~24/@mon1~12/@q1~4)
- @ts: 13 位时间戳, 例如:
1693535243018@ts
>2023-09-01 10:27:23
; - @m0~59: 每分钟开始, 例如:
@m0
>2023-09-01 10:00:00
; - @h0~24: 每小时开始,
@24
特殊表示23:59:59
, 例如:@h0
>2023-09-01 00:00:00
; - @mon1~12: 每月份开始, 例如:
@mon1
>2023-01-01 00:00:00
; - @q1~4: 每季度开始, 例如:
@q1
>2023-01-01 00:00:00
;
- @ts: 13 位时间戳, 例如:
计算表达式, 用于计算时间, 例如:
-
@d+1h
>2023-09-01 01:00:00
-
@d-1h
>2023-08-31 23:00:00
-
@d-1d-1s
>2023-08-30 23:59:59
表达式 | 说明 | 结果 |
---|---|---|
now | 当前时间 | 2023-09-01 10:16:07 |
-1h | 1 小时前 | 2023-09-01 09:16:07 |
@d | 当天开始 | 2023-09-01 00:00:00 |
-1d@d | 昨天开始 | 2023-08-31 00:00:00 |
@w3 | 本周三 | 2023-08-30 00:00:00 |
-1w@w3 | 上周三 | 2023-08-23 00:00:00 |
-1w@d | 一周前 | 2023-08-25 00:00:00 |
-1mon@mon | 上个月开始 | 2023-08-01 00:00:00 |
-24h | 24 小时前 | 2023-08-31 10:16:07 |
-1d@h8 | 昨天 8 点 | 2023-08-31 08:00:00 |
-1d@h8+5m+30s | 昨天 8 点 5 分 30 秒 | 2023-08-31 08:05:30 |