java根据当前日期获得上个月初月末时间
时间: 2024-12-16 21:15:31 浏览: 102
在Java中,你可以使用`java.time`包下的类来获取当前月份的开始时间和结束时间。这里是一个示例:
```java
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.time.temporal.ChronoUnit;
public class DateUtils {
public static void main(String[] args) {
// 获取当前日期
LocalDate currentDate = LocalDate.now();
// 计算上个月的初日
LocalDate lastMonthStart = currentDate.minusMonths(1);
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
System.out.println("Last month start: " + lastMonthStart.format(formatter));
// 上个月最后一天(假设不是闰年)
LocalDate lastMonthEnd = lastMonthStart.plusMonths(1).minusDays(1);
System.out.println("Last month end: " + lastMonthEnd.format(formatter));
// 如果需要考虑闰年的2月29日,可以使用`lastMonthEnd = lastMonthStart.with(TemporalAdjusters.lastDayOfMonth())`;
}
}
```
这个代码首先获取当前日期,然后减去一个月得到上个月的第一天(月初)。然后它加一个月并减一天得到上个月的最后一天。注意,这仅适用于非闰年的情况,如果是二月并且是闰年,`lastMonthEnd`会比实际的上个月末晚一天。
阅读全文
相关推荐
















