Java LocalDate获取上个月第一天
时间: 2024-02-03 14:01:52 浏览: 194
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);
```
输出结果为上个月的第一天的日期。
相关问题
localdate获取上个月第一天
要获取上个月的第一天,您可以使用`LocalDate`类中的`minusMonths`和`withDayOfMonth`方法。下面是一个示例代码:
```java
import java.time.LocalDate;
public class Main {
public static void main(String[] args) {
// 获取当前日期
LocalDate currentDate = LocalDate.now();
// 使用minusMonths方法获取上个月的日期
LocalDate lastMonthDate = currentDate.minusMonths(1);
// 使用withDayOfMonth方法将日期设置为上个月的第一天
LocalDate firstDayOfLastMonth = lastMonthDate.withDayOfMonth(1);
System.out.println("上个月第一天:" + firstDayOfLastMonth);
}
}
```
通过运行以上代码,您将获得上个月的第一天的日期。
java实现:获取当前年月日,获取当前年月日上个月的第一天的日期和上个月最后一天的日期
在Java中,你可以使用`java.time`包下的`LocalDate`类以及其相关的API来获取当前日期、上个月第一天和最后一天的日期。以下是相应的代码示例:
```java
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
public class DateExample {
public static void main(String[] args) {
// 获取当前日期
LocalDate currentDate = LocalDate.now();
System.out.println("当前日期: " + currentDate);
// 上个月第一天
int year = currentDate.getYear(); // 获取当前年份
int month = currentDate.getMonthValue() - 1; // 减一得到上个月的月份,因为从0开始计数
if (month == 0) { // 如果是1月,调整到12月
month = 11;
year--;
}
LocalDate lastMonthFirstDay = LocalDate.of(year, month, 1);
System.out.println("上个月第一天: " + lastMonthFirstDay);
// 上个月最后一天
lastMonthLastDay = lastMonthFirstDay.plusMonths(1).minusDays(1); // 上个月的第一天加一个月再减一天
System.out.println("上个月最后一天: " + lastMonthLastDay);
// 格式化日期展示
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
System.out.println("formatted dates:");
System.out.println(lastMonthFirstDay.format(formatter));
System.out.println(lastMonthLastDay.format(formatter));
}
}
```
这个程序首先获取当前日期,然后计算出上个月的第一天和最后一天,并使用`DateTimeFormatter`将它们格式化为字符串。
阅读全文