Java LocalDate分别获取前一天、上一周、上一个月初、上一个月月底、上一年年初、上一年年底
时间: 2023-07-10 17:08:32 浏览: 320
获取前一天:
```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`类来表示日期。要减去一年并获取年月,可以使用`minusYears()`方法和`getYear()`、`getMonth()`方法来实现。
下面是一个示例代码:
```java
import java.time.LocalDate;
import java.time.Month;
public class Main {
public static void main(String[] args) {
// 获取当前日期
LocalDate currentDate = LocalDate.now();
System.out.println("当前日期: " + currentDate);
// 减去一年
LocalDate previousYearDate = currentDate.minusYears(1);
System.out.println("减去一年后的日期: " + previousYearDate);
// 获取年份和月份
int year = previousYearDate.getYear();
Month month = previousYearDate.getMonth();
System.out.println("减去一年后的年份: " + year);
System.out.println("减去一年后的月份: " + month);
}
}
```
运行以上代码,输出结果如下:
```
当前日期: 2022-01-01
减去一年后的日期: 2021-01-01
减去一年后的年份: 2021
减去一年后的月份: JANUARY
```
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);
```
输出结果为上个月的第一天的日期。
阅读全文