java计算两个字符串时间差
时间: 2023-09-11 10:04:23 浏览: 103
java计算时间差的方法
5星 · 资源好评率100%
假设你有两个表示时间的字符串,比如 "2019-01-01 10:00:00" 和 "2019-01-01 12:30:00",你可以使用 Java 中的 SimpleDateFormat 类来将字符串转换为日期对象,然后计算它们之间的时间差。
以下是一个示例代码:
```java
import java.text.SimpleDateFormat;
import java.util.Date;
public class TimeDifference {
public static void main(String[] args) throws Exception {
String startTime = "2019-01-01 10:00:00";
String endTime = "2019-01-01 12:30:00";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date startDate = sdf.parse(startTime);
Date endDate = sdf.parse(endTime);
long diff = endDate.getTime() - startDate.getTime();
long diffMinutes = diff / (60 * 1000) % 60;
long diffHours = diff / (60 * 60 * 1000) % 24;
long diffDays = diff / (24 * 60 * 60 * 1000);
System.out.printf("时间差为 %d 天 %d 小时 %d 分钟", diffDays, diffHours, diffMinutes);
}
}
```
运行结果为:
```
时间差为 0 天 2 小时 30 分钟
```
注意,上面的代码假设了两个时间都在同一个时区,并且没有考虑夏令时等时间调整。如果需要更精确的计算,建议使用 Java 8 中的新日期时间 API。
阅读全文