LocalDateTime如果获取前一个月时间
时间: 2024-10-24 14:04:17 浏览: 13
java8 localtime 毫秒与时间互转 获取前一天六点钟时间
`LocalDateTime` 是 Java 8 中的一个日期和时间类,但它本身并不包含月份的概念,因为它是精确到秒的时间点。不过你可以通过 `MonthDay` 和 `ChronoUnit` 类配合来获取前一个月。首先创建当前的 `LocalDateTime`,然后减去一个月:
```java
import java.time.LocalDateTime;
import java.time.MonthDay;
import java.time.temporal.ChronoUnit;
LocalDateTime currentDate = LocalDateTime.now();
MonthDay nextMonth = MonthDay.of(currentDate.getMonthValue() - 1, 1); // 减一是因为月份是从0开始计数的
LocalDateTime previousMonth = currentDate.minusMonths(1);
LocalDateTime lastMonthWithFirstDay = previousMonth.with(nextMonth);
System.out.println("Last month's first day: " + lastMonthWithFirstDay);
```
这里我们先得到了上个月的第一天(假设当前月有31天),然后将这个时间设置回上个月。
阅读全文