c#如何计算两个日期string相差的小时数
时间: 2024-10-27 22:15:25 浏览: 30
C#实现两个时间相减的方法
5星 · 资源好评率100%
在 C# 中,你可以通过 `DateTime` 类型以及其相关的函数来计算两个日期字符串之间的时间差(包括小时数)。以下是步骤:
1. 首先,你需要将日期字符串转换为 `DateTime` 对象。可以使用 `DateTime.TryParseExact` 或 `DateTime.ParseExact` 函数来进行转换,指定日期的格式。
```csharp
DateTime startDate = DateTime.MinValue;
if (DateTime.TryParseExact(dateString1, "yyyy-MM-dd HH:mm:ss", CultureInfo.InvariantCulture, DateTimeStyles.None, out startDate))
{
// 如果转换成功...
}
```
2. 然后,获取第二个日期的 `DateTime` 对象,并计算两个日期之间的差异。
```csharp
DateTime endDate = DateTime.ParseExact(dateString2, "yyyy-MM-dd HH:mm:ss", CultureInfo.InvariantCulture);
TimeSpan difference = endDate - startDate;
```
3. 最后,你可以从 `TimeSpan` 对象中提取出小时数:
```csharp
int hoursDifference = difference.Hours;
```
完整的代码示例:
```csharp
string dateString1 = "2023-03-15 10:30:00";
string dateString2 = "2023-03-16 14:45:00";
DateTime startDate;
if (DateTime.TryParseExact(dateString1, "yyyy-MM-dd HH:mm:ss", CultureInfo.InvariantCulture, DateTimeStyles.None, out startDate))
{
DateTime endDate = DateTime.ParseExact(dateString2, "yyyy-MM-dd HH:mm:ss", CultureInfo.InvariantCulture);
TimeSpan difference = endDate - startDate;
int hoursDifference = difference.Hours;
Console.WriteLine($"两个日期相差 {hoursDifference} 小时");
}
else
{
Console.WriteLine("无法解析日期字符串");
}
```
阅读全文