Timespan仅以毫秒为单位,以分钟和秒为单位

时间:2016-12-07 01:13:10

标签: c# datetime timespan

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

例如,如果有02:40:30的时间跨度,则应转换为160:30

有没有办法实现这个目标?

4 个答案:

答案 0 :(得分:8)

里德的回答几乎是正确的,但并不完全正确。例如,如果时间跨度是00:01:59,则里德的解决方案输出" 2:59"由于F0数字格式的舍入。这是正确的实施方式:

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}";

答案 1 :(得分:2)

您可以使用standard numeric format strings

自行格式化
sys.exit()

答案 2 :(得分:2)

这是一个非常基本的数学问题。

除以1000得到总秒数。

除以60得到分钟数。 总秒数 - (分钟* 60)=剩余秒数。

答案 3 :(得分:2)

我是这样的

timespan.ToString("mm\\:ss");