c# 如何将3天 21 小时 16 分这个字符串 拆分成三个数字
时间: 2024-09-26 21:07:59 浏览: 17
在 C# 中,你可以使用 `DateTime.TryParse` 和一些算术运算来拆分字符串并将其转换为小时数。假设你的输入格式是 "天 天数小时 小时数分钟",可以按照下面的步骤操作:
```csharp
string timeString = "3天 21小时 16分钟";
int totalDays = 0;
int totalHours = 0;
int totalMinutes = 0;
// 按照空格分割字符串,并获取每个部分
string[] parts = timeString.Split(' ');
// 提取天数
if (int.TryParse(parts[0], out int days))
{
totalDays += days;
}
// 提取小时数
if (parts.Length >= 2 && int.TryParse(parts[1].Substring(0, parts[1].IndexOf(' ')), out int hours))
{
totalHours += hours;
}
// 提取分钟数
if (parts.Length >= 3 && int.TryParse(parts[1].Substring(parts[1].IndexOf(' ') + 1), out int minutes))
{
totalHours += (minutes / 60); // 因为1小时=60分钟
totalMinutes += minutes % 60;
}
// 将总小时数转换回小时和分钟,因为一天有24小时
totalHours += totalDays * 24;
int formattedTotalHours = totalHours;
int formattedTotalMinutes = totalMinutes;
Console.WriteLine($"总小时数:{formattedTotalHours}小时 {formattedTotalMinutes}分钟");
```
这段代码首先解析出天数、小时数和分钟数,然后计算总共的小时数,最后输出结果。