我使用时间跨度在C#中将小数转换为时间
TimeSpan.FromMinutes(59.42)的ToString("毫米\:SS&#34);输出59:25。但是我想处理60以上的分钟,例如:
TimeSpan.FromMinutes(62.87).ToString(" mm \:ss")我想以62:52输出,但我得到的是02.52。
有没有办法可以由.Net处理?
答案 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"));