LocalDateTime获取上个月月初月末时间
时间: 2023-06-29 16:10:49 浏览: 145
可以使用Java 8中的LocalDate和LocalDateTime类来实现获取上个月月初月末时间。
获取上个月月初时间:
```java
// 获取当前时间的上个月
LocalDate lastMonth = LocalDate.now().minusMonths(1);
// 获取上个月的第一天
LocalDate firstDayOfLastMonth = lastMonth.withDayOfMonth(1);
// 设置为当天的00:00:00
LocalDateTime firstDateTimeOfLastMonth = firstDayOfLastMonth.atStartOfDay();
```
获取上个月月末时间:
```java
// 获取上个月的最后一天
LocalDate lastDayOfLastMonth = lastMonth.withDayOfMonth(lastMonth.lengthOfMonth());
// 设置为当天的23:59:59
LocalDateTime lastDateTimeOfLastMonth = lastDayOfLastMonth.atTime(LocalTime.MAX);
```
完整代码示例:
```java
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
public class Main {
public static void main(String[] args) {
// 获取当前时间的上个月
LocalDate lastMonth = LocalDate.now().minusMonths(1);
// 获取上个月的第一天
LocalDate firstDayOfLastMonth = lastMonth.withDayOfMonth(1);
// 设置为当天的00:00:00
LocalDateTime firstDateTimeOfLastMonth = firstDayOfLastMonth.atStartOfDay();
// 获取上个月的最后一天
LocalDate lastDayOfLastMonth = lastMonth.withDayOfMonth(lastMonth.lengthOfMonth());
// 设置为当天的23:59:59
LocalDateTime lastDateTimeOfLastMonth = lastDayOfLastMonth.atTime(LocalTime.MAX);
System.out.println("上个月月初时间:" + firstDateTimeOfLastMonth);
System.out.println("上个月月末时间:" + lastDateTimeOfLastMonth);
}
}
```
输出结果:
```
上个月月初时间:2021-07-01T00:00
上个月月末时间:2021-07-31T23:59:59.999999999
```
阅读全文