localDate 获取当前日期上一年的最后一月的一天日期
时间: 2024-09-20 21:11:21 浏览: 5
在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 获取当前时间上一年
要获取当前时间的上一年,可以使用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 ]
LocalDateTime获取一年的最后一个月的第一天
要获取一年的最后一个月的第一天,您可以使用以下代码:
```java
LocalDate now = LocalDate.now();
LocalDate lastDayOfYear = now.with(TemporalAdjusters.lastDayOfYear());
LocalDate firstDayOfLastMonth = lastDayOfYear.minusMonths(1).with(TemporalAdjusters.firstDayOfMonth());
```
在这个代码中,我们首先使用`LocalDate.now()`获取当前日期。然后,我们使用`TemporalAdjusters.lastDayOfYear()`将日期调整为当年的最后一天。接着,我们使用`minusMonths(1)`减去一个月,再使用`TemporalAdjusters.firstDayOfMonth()`将日期调整为该月的第一天。最终,我们得到了一年的最后一个月的第一天。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [获取当前时间的前一天,前一个月,前一年](https://blog.csdn.net/qq_51531343/article/details/125934762)[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^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]