使用时间跨度值超过60分钟

时间:2016-09-09 16:11:45

标签: formatting timespan

我使用时间跨度在C#中将小数转换为时间

TimeSpan.FromMinutes(59.42)的ToString("毫米\:SS&#34);输出59:25。但是我想处理60以上的分钟,例如:

TimeSpan.FromMinutes(62.87).ToString(" mm \:ss")我想以62:52输出,但我得到的是02.52。

有没有办法可以由.Net处理?

1 个答案:

答案 0 :(得分:2)

您正在创建所需的TimeSpan,您只是没有正确显示它。

" mm"格式字符串中的term给出Minutes属性(始终在0-59范围内)而不是TotalMinutes属性(TimeSpan中的总分钟数)。

TimeSpan ts = TimeSpan.FromMinutes(62.8);
string output = string.Format("{0}:{1}", 
     // Display the total minutes, throwing away the fractional portion.
     (int) ts.TotalMinutes, 
     // Display the seconds component (0-59) as two digits with a leading
     // zero if necessary.
     ts.Seconds.ToString("D2"));