LocalDateTime获取改时间的当前小时起始时间
时间: 2023-10-14 17:23:36 浏览: 36
你好,关于你的问题,我可以回答。你可以使用Java 8中的LocalDateTime类的withMinute和withSecond方法来设置当前时间的分钟和秒数为0,并返回当前小时的起始时间。代码示例如下:
```
LocalDateTime now = LocalDateTime.now();
LocalDateTime startOfHour = now.withMinute(0).withSecond(0);
```
希望能帮到你!
相关问题
java8怎么获取当前小时的起始时间
你可以使用 Java 8 中的 `LocalDateTime` 类来获取当前小时的起始时间。下面是一个示例代码:
```java
import java.time.LocalDateTime;
import java.time.temporal.ChronoUnit;
public class Main {
public static void main(String[] args) {
LocalDateTime now = LocalDateTime.now();
LocalDateTime startOfHour = now.truncatedTo(ChronoUnit.HOURS);
System.out.println("当前小时的起始时间:" + startOfHour);
}
}
```
在上面的代码中,我们首先使用 `LocalDateTime.now()` 方法获取当前时间。然后,我们使用 `truncatedTo()` 方法将当前时间戳截断到当前小时,并将结果存储在 `startOfHour` 变量中。最后,我们将 `startOfHour` 打印出来以验证结果。
注意,`truncatedTo()` 方法是在 Java 8 中引入的,它接受一个 `TemporalUnit` 参数,表示要将时间戳截断到什么级别。在上面的示例中,我们使用 `ChronoUnit.HOURS` 将时间戳截断到当前小时。
java获取当前时间的上一个小时的起始时间和结束时间
获取当前时间的上一个小时的起始时间和结束时间,可以通过以下代码实现:
```java
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
public class Main {
public static void main(String[] args) {
LocalDateTime now = LocalDateTime.now(); // 获取当前时间
LocalDateTime lastHourStart = now.minusHours(1).withMinute(0).withSecond(0).withNano(0); // 获取上一个小时的起始时间
LocalDateTime lastHourEnd = now.minusHours(1).withMinute(59).withSecond(59).withNano(999999999); // 获取上一个小时的结束时间
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
System.out.println("上一个小时的起始时间:" + formatter.format(lastHourStart));
System.out.println("上一个小时的结束时间:" + formatter.format(lastHourEnd));
}
}
```
以上代码中,我们首先通过 `LocalDateTime.now()` 方法获取当前时间,然后使用 `minusHours(1)` 方法获取上一个小时的时间,接着使用 `withMinute(0)` 方法将分钟设置为0,使用 `withSecond(0)` 方法将秒数设置为0,使用 `withNano(0)` 方法将纳秒数设置为0,以获取上一个小时的起始时间。同理,使用 `withMinute(59)` 方法将分钟设置为59,使用 `withSecond(59)` 方法将秒数设置为59,使用 `withNano(999999999)` 方法将纳秒数设置为999999999,以获取上一个小时的结束时间。最后,使用 `DateTimeFormatter` 对象将时间格式化为字符串输出。