localdatetime拿当前月份第一天的早上八点
时间: 2023-12-05 22:15:04 浏览: 59
你可以使用Java 8中的LocalDateTime和TemporalAdjusters类来实现此操作。以下是代码示例:
```java
import java.time.LocalDateTime;
import java.time.temporal.TemporalAdjusters;
public class Main {
public static void main(String[] args) {
LocalDateTime now = LocalDateTime.now();
LocalDateTime firstDayOfMonth = now.with(TemporalAdjusters.firstDayOfMonth());
LocalDateTime result = LocalDateTime.of(firstDayOfMonth.getYear(), firstDayOfMonth.getMonth(),
firstDayOfMonth.getDayOfMonth(), 8, 0, 0);
System.out.println(result);
}
}
```
这里我们首先获取当前的LocalDateTime对象,然后使用TemporalAdjusters类中的firstDayOfMonth()方法获取当前月份的第一天。接下来,我们将其与早上八点的时间组合起来,得到了所需的结果。
相关问题
LocalDateTime获取当前月份最早时间
要获取当前月份的最早时间,你可以使用 `LocalDateTime` 类的 `withDayOfMonth()` 方法来设置日期为当前月份的第一天,然后使用 `with(LocalTime.MIN)` 方法将时间设置为当天的最早时间(即 00:00:00)。以下是示例代码:
```java
import java.time.LocalDateTime;
import java.time.LocalTime;
public class Main {
public static void main(String[] args) {
LocalDateTime now = LocalDateTime.now();
LocalDateTime firstDayOfMonth = now.withDayOfMonth(1).with(LocalTime.MIN);
System.out.println("当前月份最早时间:" + firstDayOfMonth);
}
}
```
这段代码会输出当前月份的最早时间,例如:
```
当前月份最早时间:2022-02-01T00:00
```
LocalDateTime根据当前时间减一天
LocalDateTime是Java 8中的一个日期时间类,它提供了处理日期和时间的方法。要根据当前时间减去一天,可以使用`minusDays()`方法。下面是一个示例代码:
```java
import java.time.LocalDateTime;
public class Example {
public static void main(String[] args) {
LocalDateTime currentDateTime = LocalDateTime.now();
LocalDateTime previousDateTime = currentDateTime.minusDays(1);
System.out.println("当前时间:" + currentDateTime);
System.out.println("减去一天后的时间:" + previousDateTime);
}
}
```
上述代码中,`LocalDateTime.now()`方法用于获取当前时间,`minusDays(1)`方法用于减去一天。通过打印输出,你可以看到当前时间和减去一天后的时间。
阅读全文