这是我现在的代码。此代码使用表达式计算rdlc中的总时间。
(Sum(System.TimeSpan.Parse(Fields!Number_of_Hours.Value).Hours)) &":"&(Sum(System.TimeSpan.Parse(Fields!Number_of_Hours.Value).Minutes))
此代码显示总小时数和分钟数。
111:217
我想看到的是......这可能吗?
113:37
答案 0 :(得分:0)
它有点不清楚,但我想你是说你有一个时间输入为111:217格式的字符串,其中分钟组件可以是> = 60.你想在hh中显示:分钟分量为< 60。
TimeSpan.Parse()dosent似乎喜欢你输入的格式。它希望分钟< 60小时< 24.您将不得不使用TimeSpan构造函数。试试这段代码:
string input = "111:217";
// Split the string into pieces on ":"
string[] parts = input.Split(':');
// Create a TimeSpan from our pieces
int hours = Int32.Parse(parts[0]);
int minutes = Int32.Parse(parts[1]);
TimeSpan time = new TimeSpan(hours, minutes, 0);
// Show the time formatted
string formatted = time.ToString(@"hh\:mm");
Console.WriteLine(formatted);
// Show the total time in minutes
double totalMinutes = time.TotalMinutes;
Console.WriteLine(totalMinutes);
以下是显示代码工作的小提琴:https://dotnetfiddle.net/iEeA6J