Java LocalDate分别获取前一天、上一周、上一个月初、上一个月月底、上一年年初、上一年年底
时间: 2023-07-10 13:08:32 浏览: 216
获取前一天:
```java
LocalDate yesterday = LocalDate.now().minusDays(1);
```
获取上一周:
```java
LocalDate lastWeek = LocalDate.now().minusWeeks(1);
```
获取上一个月初:
```java
LocalDate firstDayOfLastMonth = LocalDate.now().minusMonths(1).withDayOfMonth(1);
```
获取上一个月月底:
```java
LocalDate lastDayOfLastMonth = LocalDate.now().withDayOfMonth(1).minusDays(1);
```
获取上一年年初:
```java
LocalDate firstDayOfLastYear = LocalDate.now().minusYears(1).withDayOfYear(1);
```
获取上一年年底:
```java
LocalDate lastDayOfLastYear = LocalDate.now().minusYears(1).withDayOfYear(365);
```
需要注意的是,在某些年份中,2月份的天数不同,因此在计算上一个月月底和上一年年底时需要特别考虑。
相关问题
Java LocalDate获取上个月第一天
Java LocalDate可以使用TemporalAdjusters方法来获取上个月的第一天。首先,获取当前日期并减去一个月得到上个月的日期。然后,使用`with(TemporalAdjusters.firstDayOfMonth())`方法获取上个月的第一天。
以下是示例代码:
```
LocalDate date = LocalDate.now();
LocalDate lastMonth = date.minusMonths(1);
LocalDate firstDay = lastMonth.with(TemporalAdjusters.firstDayOfMonth());
System.out.println(firstDay);
```
输出结果为上个月的第一天的日期。
Java LocalDate分别获取上一周末日期
获取上一周末日期可以通过Java 8中的LocalDate类来实现。以下是获取上一周末日期的代码:
```java
// 获取当前日期
LocalDate today = LocalDate.now();
// 获取上一周的星期日
LocalDate lastSunday = today.minusDays(today.getDayOfWeek().getValue());
// 获取上一周的星期六
LocalDate lastSaturday = lastSunday.minusDays(1);
// 输出上一周末日期
System.out.println("上一周末日期:");
System.out.println("星期六:" + lastSaturday);
System.out.println("星期日:" + lastSunday);
```
上述代码中,我们首先获取当前日期,然后通过`minusDays()`方法获取上一周的星期日和星期六。最后输出上一周末日期即可。