localDate 获取当前日期上一年的最后一月的一天日期
时间: 2024-09-20 16:11:21 浏览: 35
在Java中,如果你想要获取当前日期上一年的最后一月(即十二月)的最后一天,你可以使用`java.time.LocalDate`类以及它的几个方法。这里是一个示例代码片段:
```java
import java.time.LocalDate;
import java.time.Month;
// 获取当前日期
LocalDate currentDate = LocalDate.now();
// 减去一年
LocalDate oneYearAgo = currentDate.minusYears(1);
// 转到十二月份
Month december = Month.DECEMBER;
LocalDate lastDayOfYearBeforePreviousYear = oneYearAgo.with Month(december);
// 获取十二月的具体日期
LocalDate lastDayOfLastMonth = lastDayOfYearBeforePreviousYear.atEndOfMonth();
```
上面的代码首先获取当前日期,然后减去一年,接着跳转到十二月,再设置为该月的最后一天。`atEndOfMonth()`方法确保返回的是该月的最后一天。
相关问题
Java LocalDate分别获取前一天、上一周、上一个月初、上一个月月底、上一年年初、上一年年底
获取前一天:
```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 获取当前时间上一年
要获取当前时间的上一年,可以使用Java中的Calendar类或LocalDate类来实现。
使用Calendar类的示例代码如下:
```java
Calendar ca = Calendar.getInstance();
ca.setTime(new Date());
ca.add(Calendar.YEAR, -1);
Date previousYear = ca.getTime();
```
这段代码首先获取了当前时间的Calendar实例,然后将其设置为当前时间。接下来,使用`add`方法将年份减去1,最后通过`getTime`方法获取上一年的日期。
使用LocalDate类的示例代码如下:
```java
LocalDate currentDate = LocalDate.now();
LocalDate previousYear = currentDate.minusYears(1);
```
这段代码首先使用`LocalDate.now()`获取当前日期的实例,然后使用`minusYears`方法将年份减去1,最后得到上一年的日期。
无论是使用Calendar类还是LocalDate类,都可以很方便地获取当前时间的上一年。
#### 引用[.reference_title]
- *1* [Java获取当前时间的上一年、下一年、上个月、下个月、前一天等(时间格式化)](https://blog.csdn.net/qq_41563912/article/details/126284310)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* *3* [Java 获取日期前一年、月、日,指定日期的前几天,后几天](https://blog.csdn.net/m0_54790214/article/details/129280230)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文