到HH的总时间:MM:SS到rdlc

时间:2014-06-12 04:36:20

标签: c# rdlc

这是我现在的代码。此代码使用表达式计算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

1 个答案:

答案 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