java8怎么获取当前小时的起始时间
时间: 2023-06-28 19:13:46 浏览: 112
你可以使用 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中的Calendar类和Date类。以下是获取当前小时开始时间和结束时间的示例代码:
```java
import java.util.Calendar;
import java.util.Date;
public class Example {
public static void main(String[] args) {
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
calendar.set(Calendar.MILLISECOND, 0);
Date start = calendar.getTime();
calendar.add(Calendar.HOUR_OF_DAY, 1);
calendar.add(Calendar.MILLISECOND, -1);
Date end = calendar.getTime();
System.out.println("当前小时开始时间:" + start);
System.out.println("当前小时结束时间:" + end);
}
}
```
在此示例中,我们首先获取当前时间的Calendar实例。然后将分钟、秒和毫秒设置为零,以获取当前小时的开始时间。接下来,我们将小时增加1,并将毫秒减1,以获取当前小时的结束时间。最后,我们将开始时间和结束时间打印到控制台。
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` 对象将时间格式化为字符串输出。
阅读全文