2014-02-28 142 views
0

我需要格式TimeSpan分钟和秒(无小时),我期待MSDN格式但没有找到任何我可以重复使用的例子。什么,我需要TimeSpan格式化为分钟和秒不带小时

例子:

TimeSpan.FromSeconds(1) --> 00:01 
TimeSpan.FromSeconds(60) --> 01:00 
TimeSpan.FromSeconds(3600) --> 60:00 
TimeSpan.FromSeconds(36000) --> 600:00 

任何想法,这可能格式以使用时间跨度转换为字符串分钟:秒格式?

回答

4

试试这个:

var timeSpan = TimeSpan.FromSeconds(3123); 

var result = string.Format("{0:D2}:{1:D2}", (int) timeSpan.TotalMinutes, timeSpan.Seconds); 

// result = "52:03" 
+0

因为我有道理,它不可能通过TimeSpan.ToString(格式)完成? –

+0

您正在使用哪个.NET版本? TimeSpan.ToString(格式)只采用.NET4中的自定义格式字符串+ –

+0

我使用了4.5 Framework –

2

可以使用TimeSpan.TotalMinutes的第一部分,也是垫秒的自定义格式字符串数量:

var formatted = string.Format("{0}:{1:D2}", (int)ts.TotalMinutes, ts.Seconds); 
+0

持续90秒 - > 1.5:30 –

+0

@Толя:啊,是的,我忘了。添加了一个强制转换为'int'来摆脱分数。 – Jon

-2

请查看这篇文章,了解parametrs至.ToString()功能在。

链接String.Format Method - MSDN

+0

我已经检查过,没有找到答案,正如我在我的问题中提到的。 –

相关问题