java如何用LocalDateTime获取上个月的最后一天
时间: 2024-07-25 11:00:58 浏览: 190
在Java中,你可以使用`java.time`包下的`LocalDateTime`类配合`MonthDay`和`lastDayOfMonth()`方法来获取上个月的最后一天。这里是一个示例:
```java
import java.time.LocalDateTime;
import java.time.MonthDay;
public class Main {
public static void main(String[] args) {
// 获取当前日期
LocalDateTime currentDate = LocalDateTime.now();
// 减去一个月
MonthDay lastMonthLastDay = MonthDay.of(currentDate.getMonthValue() - 1, 0); // 注意月份是从1开始计数
// 添加回当前年的1月1日,因为MonthDay没有年份信息,然后取去年的最后一天
LocalDateTime lastMonthEndDate = currentDate.withYear(currentDate.getYear()).atMonthDay(lastMonthLastDay);
System.out.println("上个月的最后一天: " + lastMonthEndDate);
}
}
```
这个代码首先获取当前日期,然后减去一个月,并将结果设置为当月的第一天(即0号),接着通过添加回当年的1月1日并获取那天的日历实例,从而得到上个月的最后一天。
阅读全文