java - 如何在 Java 8/jsr310 中格式化句点?

标签 java java-8 period time-format

我想格式化 Period使用 YY 年、MM 月、DD 日 之类的模式。 Java 8 中的实用程序旨在格式化时间,但既不是周期也不是持续时间。有一个PeriodFormatter在乔达时代。 Java 有类似的实用程序吗?

最佳答案

一种解决方案是简单地使用 String.format :

import java.time.Period;

Period p = Period.of(2,5,1);
String.format("%d years, %d months, %d days", p.getYears(), p.getMonths(), p.getDays());

如果您确实需要使用 DateTimeFormatter 的功能,您可以使用临时的LocalDate , 但这是一种扭曲 LocalDate 语义的 hack .

import java.time.Period;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;

Period p = Period.of(2,5,1);
DateTimeFormatter fomatter = DateTimeFormatter.ofPattern("y 'years,' M 'months,' d 'days'");
LocalDate.of(p.getYears(), p.getMonths(), p.getDays()).format(fomatter);

关于java - 如何在 Java 8/jsr310 中格式化句点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53749850/

相关文章:

java - 为什么演示中同步工作时 ReentrantLock 不起作用?

python - 对于每一天,使用 Python 从第一行中减去最后一行

algorithm - 如何在不轮询的情况下获取数据?

Java Android - IllegalStateException,无法实例化 httpost

java - 为什么BUILDER模式比javaBean更安全?

java - 用 Java 阅读 feed

java - spring data jpa 过滤 @OneToMany 中的子级

java - mvn 在自动挂载目录上失败

java - 根据当前时间获取特定的 15 分钟时间范围

Java - 设置期间