timeShift简单说明
1、语法格式
${__timeShift(Format, Date to Shift, Value to Shift, Locale to use for format, Name of variable)}
2、参数说明
字段 | 含义 | 是否必传 |
---|---|---|
Format | DateTimeFormatter,日期格式 不指定默认会返回毫秒数。建议格式: yyyy/MM/dd HH:mm:ss | N |
Date to shift | 要转换的日期。如果省略,则日期设置为现在 | N |
Value to shift | 要移动的时间数 | N |
Locale to use for format | 语言环境的字符串格式,如:zh_CN、en_US | N |
Name of variable | 存储结果的变量名 | N |
第一个参数说明
为什么是yyyy/MM/dd HH:mm:ss格式?
首先,遵循了ISO 8601标准规定的日期格式:
ISO 8601是一个由国际标准化组织(International Organization for Standardization)制定的国际标准,它定义了表示日期和时间的一致格式。使用ISO 8601格式的主要目的是确保在全球范围内对日期和时间有一致且易于理解的表示方式。
- 日期:
2022-09-15
(表示2022年9月15日)。日期格式为yyyy-MM-DD
,其中yyyy
表示年份,MM
表示月份,DD
表示天数。 - 时间:
14:30:45
(表示下午2点30分45秒)。时间格式为hh:mm:ss
,其中hh
表示小时(24小时制),mm
表示分钟,ss
表示秒。
其次,遵循Java的日期约定:
DD
: 表示年中的第几天,范围从001到365(366)。dd
: 表示一个月中的第几天,范围从01到一个月的最后一天。HH
: 表示24小时制的小时,范围从00到23。hh
: 表示12小时制的小时,范围从01到12。
第三个参数说明
1、使用说明
- PT20.12S 增加 20.12 秒
- PT15M 增加 15 分钟
- PT10H 增加 10 小时
- P2D 增加 2 天
- P2DT3H4M 增加 2 天 3 小时 4 分钟
- PT-6H3M 减少 6 小时,同时增加 3 分钟
- -PT6H3M" 减少 6小时 3 分钟
- -PT-6H+3M 增加 6 小时,同时减少 3 分钟
2、PT的来源和含义
这里依然是遵循ISO 8601表示时间间隔和持续时间的规范:
- 持续时间:
P1DT2H30M15S
(表示1天,加上2小时,30分钟和15秒),其中P代表"Period"(周期),T
表示"Time"(时间)。如有有负号-,则表示为负间隔。 - 时间间隔:
2008-03-01T13:00:00/2008-05-11T15:30:00
(表示从2008年3月1日13:00到2008年5月11日15:30的时间段)。时间间隔由两个日期时间字符串组成,用一个斜杠/
分隔。