java 计算两个 字符串类型"yyyy-MM-dd HH:mm:ss"的 小时差值
时间: 2023-07-05 21:17:46 浏览: 54
可以使用SimpleDateFormat将字符串类型的时间转换成Date类型,然后通过getTime()方法获取时间戳,最后计算时间戳的差值得到小时差值。示例代码如下:
```java
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String time1 = "2022-01-01 00:00:00";
String time2 = "2022-01-02 00:00:00";
try {
Date date1 = sdf.parse(time1);
Date date2 = sdf.parse(time2);
long diff = date2.getTime() - date1.getTime();
long hours = diff / (1000 * 60 * 60);
System.out.println(time1 + " 和 " + time2 + " 相差 " + hours + " 小时");
} catch (ParseException e) {
e.printStackTrace();
}
```
其中,getTime()方法用于获取Date类型的时间的时间戳,单位为毫秒;计算小时差值需要将时间戳除以1000(转换成秒)、60(转换成分)、60(转换成小时)。
相关问题
C# 如何对两个yyyy-MM-dd HH:mm:ss类型的时间数据作差值
可以使用DateTime类型的Subtract方法来计算两个时间之间的时间差,得到一个TimeSpan类型的结果。具体示例如下:
```csharp
DateTime time1 = DateTime.Parse("2021-06-01 10:00:00");
DateTime time2 = DateTime.Parse("2021-06-01 12:30:00");
TimeSpan diff = time2.Subtract(time1);
Console.WriteLine(diff.TotalHours); // 输出2.5,表示时间差为2.5小时
```
其中,Parse方法可以将字符串转换为DateTime类型。Subtract方法返回的是一个TimeSpan类型的结果,可以通过TotalHours、TotalMinutes、TotalSeconds等属性获取时间差的小时、分钟、秒数等信息。
C# 如何对两个yyyy-MM-dd HH:mm:ss类型的时间数据作差值,并将该值转换为string
你可以通过将两个DateTime类型的时间数据相减来获得TimeSpan类型的差值,然后将TimeSpan类型的差值转换为string类型。
下面是一个示例代码:
```csharp
DateTime startTime = DateTime.ParseExact("2021-09-01 10:10:10", "yyyy-MM-dd HH:mm:ss", CultureInfo.InvariantCulture);
DateTime endTime = DateTime.ParseExact("2021-09-02 10:10:10", "yyyy-MM-dd HH:mm:ss", CultureInfo.InvariantCulture);
TimeSpan duration = endTime - startTime;
string durationString = duration.ToString();
```
在这个示例中,我们先将两个字符串类型的时间数据转换为DateTime类型,然后将它们相减得到TimeSpan类型的差值,最后将TimeSpan类型的差值转换为string类型的时间间隔表示。