我有一个始终以毫秒为单位的Timespan,但是我只需要以分钟和秒为单位显示日期,因此它始终是"mm:ss"。即使时间跨度中有几个小时,输出字符串也应仅包含分钟和秒。

例如,如果存在02:40:30的时间跨度,则应将其转换为160:30

有没有办法做到这一点?

最佳答案

里德的回答几乎是正确的,但并非完全正确。例如,如果时间跨度为00:01:59,则由于按F0数字格式进行四舍五入,Reed的解决方案将输出“2:59”。这是正确的实现:

string output = string.Format("{0}:{1:00}",
        (int)timespan.TotalMinutes, // <== Note the casting to int.
        timespan.Seconds);

在C#6中,可以使用字符串插值来减少代码:
var output = $"{(int)timespan.TotalMinutes}:{timespan.Seconds:00}";

关于c# - 时间跨度,以毫秒为单位,仅分钟和秒,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41007785/

10-11 04:38