我想保存用户在数据库varchar列中工作的小时数,但默认情况下,如果小时数超过24,则格式化的值包括天数.我只想要总小时数.
例如:如果用户今天工作10:00:00,明天13:00:00,后天3:30:00,则我想要的格式化总数为26:30:00.相反,我看到的是1.2:30:00.
我怎样才能获得我想要的格式?
此外,当我手动将值40:00:00保存在数据库中,并尝试将其读入TimeSpan以后,我得到一个错误.
如何以我想要的方式保存数据库中的小时数,并且仍然可以将其读回TimeSpan以后?
Cod*_*ike 18
你可以这样做:
TimeSpan time = ...;
string timeForDisplay = (int)time.TotalHours + time.ToString(@"\:mm\:ss");
Run Code Online (Sandbox Code Playgroud)
Bal*_*a R 15
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);
Run Code Online (Sandbox Code Playgroud)