format()TemporalAdjustersDateTimeFormatter
时间: 2024-07-22 09:00:19 浏览: 46
`format()` 是 Java 中 `java.time.format.DateTimeFormatter` 类的一个方法,用于将日期和时间对象格式化为字符串。`TemporalAdjusters` 是另一个 `java.time` 包中的工具类,它提供了一系列静态方法来调整日期时间值,如添加或减少特定的时间单位(如一天、一周等),但并不直接与 `format()` 方法关联。
`TemporalAdjusters` 并非 `DateTimeFormatter` 的一部分,但它们可以一起使用。例如,你可以先使用 `TemporalAdjusters` 创建一个新的调整后的日期时间,然后用 `DateTimeFormatter` 对这个调整后的日期进行格式化。例如:
```java
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.format.DateTimeFormatter;
import java.time.temporal.TemporalAdjusters;
LocalDateTime dateTime = LocalDateTime.now();
LocalDate adjustedDate = dateTime.with(TemporalAdjusters.previousOrSame(LocalDate.class));
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
String formattedDate = adjustedDate.format(formatter);
```
在这个例子中,`TemporalAdjusters.previousOrSame(LocalDate.class)` 会获取当前 LocalDateTime 的日期部分,并调整到前一天(如果已经是第一天则保持不变)。然后,`DateTimeFormatter` 将调整后的日期格式化为 "yyyy-MM-dd" 格式的字符串。
阅读全文