ISO 8601持续时间格式

ISO 8601 持续时间格式。

ISO 8601 中定义了一个时间间隔,

格式如下:

ISO 8601持续时间格式如下:

P(n)Y(n)M(n)DT(n)H(n)M(n)S

其中:

  • P是持续时间指示符,始终放置在持续时间的开头位置
  • T是表示时间元素开始的指示符
  • (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 个月。

尽量使用标准的表示吧,系统的处理更加方便。