ISO 8601 持续时间格式。
ISO 8601 中定义了一个时间间隔,
格式如下:
ISO 8601持续时间格式如下:
P(n)Y(n)M(n)DT(n)H(n)M(n)S
其中:
(n)
为时间值符号 | 含义 |
---|---|
Y | 年 |
M | 月 |
D | 日 |
W | 星期 |
H | 时 |
M | 分 |
S | 秒 |
P3M
上面的时间表示的是时间间隔为 3 个月。
通常我们在 Java 项目中可以用来计算 2 个时间的不同。
例如我们当前有一个需求为,我们需要对数据进行处理,但是数据处理时间为当前的时间减去 3 个月的这个时间间隔。
在 API 中,我们可以直接定义数字 3 ,但是我们觉得这样不够标准化,所以我们就可以在 API 中传入参数 P3M,然后在后端进行计算就可以了。
例如我们使用下面的代码:
- Period p = Period.parse("P3M");
- LocalDate currentDate = LocalDate.now();
- log.debug("{}", currentDate.minus(p).toString());
程序将会输出当前的日期减去 3 个月。
尽量使用标准的表示吧,系统的处理更加方便。
https://www.ossez.com/t/iso-8601/14201