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);
精彩评论