Java计算9:00到14:30之间的小时数
时间: 2024-02-06 08:02:14 浏览: 25
可以使用Java中的时间类来计算,以下是一种实现方式:
```java
import java.time.Duration;
import java.time.LocalTime;
public class Main {
public static void main(String[] args) {
LocalTime startTime = LocalTime.of(9, 0); // 开始时间
LocalTime endTime = LocalTime.of(14, 30); // 结束时间
long hoursBetween = Duration.between(startTime, endTime).toHours(); // 计算小时数
System.out.println(hoursBetween); // 输出结果
}
}
```
运行结果为 `5`,即 9:00 到 14:30 之间共有 5 小时。
相关问题
Java 计算2个不同天数时间点之间的小时时间
要计算两个不同天数的时间点之间的小时时间,您可以使用 Java 的 `LocalDateTime` 类来表示时间,并使用 `Duration` 类来计算两个时间点之间的时间差。以下是一个示例代码:
```java
import java.time.Duration;
import java.time.LocalDateTime;
public class Main {
public static void main(String[] args) {
// 定义起始时间点和结束时间点
LocalDateTime startTime = LocalDateTime.of(2022, 1, 1, 10, 0);
LocalDateTime endTime = LocalDateTime.of(2022, 1, 2, 14, 0);
// 计算时间差
Duration duration = Duration.between(startTime, endTime);
// 获取小时数
long hoursBetween = duration.toHours();
// 输出结果
System.out.println("小时数: " + hoursBetween);
// 输出时间段中的每个小时时间
for (int i = 0; i <= hoursBetween; i++) {
LocalDateTime hourTime = startTime.plusHours(i);
System.out.println(hourTime);
}
}
}
```
在上述示例代码中,我们定义了起始时间 `startTime` 和结束时间 `endTime`,并使用 `Duration.between()` 方法计算两者之间的时间差。然后,我们通过 `toHours()` 方法获取小时数。最后,我们使用 `plusHours()` 方法在起始时间点上逐小时增加,并输出每个小时的时间。
请注意,上述示例中假设起始时间和结束时间处于不同的日期。如果涉及到相跨多天的时间段,您可能还需要考虑日期切换的情况。
希望这个示例对您有所帮助!如果您有任何问题,请随时追问。
使用Java 方法高效的算出字符串“2012-12-12 08:00 到现在的小时数
可以使用Java 8的时间类库来实现:
```java
import java.time.LocalDateTime;
import java.time.Duration;
import java.time.format.DateTimeFormatter;
public class TimeCalculator {
public static void main(String[] args) {
String str = "2012-12-12 08:00";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm");
LocalDateTime dateTime = LocalDateTime.parse(str, formatter);
long hours = Duration.between(dateTime, LocalDateTime.now()).toHours();
System.out.println(hours);
}
}
```
首先,使用`DateTimeFormatter`解析字符串得到一个`LocalDateTime`对象。
然后,使用`Duration.between()`方法计算两个时间点之间的差距,并将其转换为小时数。最后,输出结果即可。