开发者

How do I format a timespan to show me total hours?

I want to save the user's hours worked in a database varchar column, but by default, the formatted value includes days if the number of hours is more than 24. I just want the total number of hours.

For example: 开发者_开发知识库if a user works 10:00:00 hours today, then 13:00:00 hours tomorrow, and 3:30:00 hours the day after tomorrow then the formatted total I want is 26:30:00. Instead, I am seeing 1.2:30:00.

How can I get the formatting I want?

Also, when I save the value 40:00:00 in the database manually, and try to read it into a TimeSpan later, I get a bug.

How can I save the hours in the database the way I want, and still be able to read it back into a TimeSpan later?


You could do something like:

TimeSpan time = ...;
string timeForDisplay = (int)time.TotalHours + time.ToString(@"\:mm\:ss");


Try TimeSpan.TotalHours

String timeStamp = "40:00:00";
var segments = timeStamp.Split(':');

TimeSpan t = new TimeSpan(0, Convert.ToInt32(segments[0]), 
               Convert.ToInt32(segments[1]), Convert.ToInt32(segments[2]));
string time = string.Format("{0}:{1}:{2}", 
           ((int) t.TotalHours), t.Minutes, t.Seconds);
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜