localdatetime 获取这个月和上月的同比时间
时间: 2023-12-14 20:36:50 浏览: 147
获取当前月日期
可以使用 Java 8 中的 LocalDateTime 类来实现。以下是获取本月和上月同比时间的示例代码:
```java
// 获取当前时间
LocalDateTime now = LocalDateTime.now();
// 获取本月第一天的时间
LocalDateTime startOfThisMonth = now.withDayOfMonth(1).withHour(0).withMinute(0).withSecond(0).withNano(0);
// 获取上个月第一天的时间
LocalDateTime startOfLastMonth = now.minusMonths(1).withDayOfMonth(1).withHour(0).withMinute(0).withSecond(0).withNano(0);
// 计算本月和上月的时间差,单位为毫秒
long diffInMilliseconds = Duration.between(startOfLastMonth, startOfThisMonth).toMillis();
// 输出本月和上月的同比时间
System.out.println("本月同比时间:" + startOfThisMonth + " - " + startOfThisMonth.plusMillis(diffInMilliseconds));
System.out.println("上月同比时间:" + startOfLastMonth + " - " + startOfLastMonth.plusMillis(diffInMilliseconds));
```
这段代码将输出类似以下内容的结果:
```
本月同比时间:2021-12-01T00:00 - 2022-01-01T00:00
上月同比时间:2021-11-01T00:00 - 2021-12-01T00:00
```
其中,`withDayOfMonth(1)` 表示设置为当月的第一天,`minusMonths(1)` 表示减去一个月,`Duration.between()` 方法可以计算两个时间之间的时间差,`toMillis()` 方法可以将时间差转换为毫秒数。
阅读全文