对超过 60 分钟的值使用时间跨度
Using timespan for values above 60 minutes
我在 C# 中使用时间跨度将小数转换为时间
TimeSpan.FromMinutes(59.42).ToString("mm\:ss");输出 59:25。但是我想处理 60 以上的分钟,例如:
TimeSpan.FromMinutes(62.87).ToString("mm\:ss") 我想输出为 62:52 但我得到的是 02.52.
.Net 有办法解决这个问题吗?
您正在创建所需的 TimeSpan,只是没有正确显示它。
格式字符串中的 "mm" 项给出分钟数 属性(始终在 0-59 范围内)而不是总分钟数 属性(总分钟数时间跨度)。
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"));
我在 C# 中使用时间跨度将小数转换为时间
TimeSpan.FromMinutes(59.42).ToString("mm\:ss");输出 59:25。但是我想处理 60 以上的分钟,例如:
TimeSpan.FromMinutes(62.87).ToString("mm\:ss") 我想输出为 62:52 但我得到的是 02.52.
.Net 有办法解决这个问题吗?
您正在创建所需的 TimeSpan,只是没有正确显示它。
格式字符串中的 "mm" 项给出分钟数 属性(始终在 0-59 范围内)而不是总分钟数 属性(总分钟数时间跨度)。
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"));