原谅粗略的代码,我试图显示给定的时间以秒为单位的视频的持续时间。 我已经去过了,但它不能正常工作。显示时间跨度很好
我希望它能够很好地显示 - 即应显示9m:59s而不是9m:59s。
如果小时为零不显示小时,如果分钟为零不显示分钟。
public static string GetTimeSpan(int secs)
{
TimeSpan t = TimeSpan.FromSeconds(secs);
string answer;
if (secs < 60)
{
answer = string.Format("{0:D2}s", t.Seconds);
}
else if (secs < 600)//tenmins
{
answer = string.Format("{0:m}m:{1:D2}s", t.Minutes, t.Seconds);
}
else if (secs < 3600)//hour
{
answer = string.Format("{0:mm}m:{1:D2}s", t.Minutes, t.Seconds);
}
else
{
answer = string.Format("{0:h}h:{1:D2}m:{2:D2}s",
t.Hours,
t.Minutes,
t.Seconds);
}
return answer;
}
所以你有什么问题吗?或者你期望会发生什么,发生了什么?请不要期望我猜测:) – Alex 2012-02-15 10:58:39
问题是显示持续时间很好给了秒。如果小时为零不显示小时,如果分钟为零不显示分钟,也将需要以格式9m:59s不是09m:59s为单个数字分钟。 – raklos 2012-02-15 11:02:05
您的格式字符串错误,没有“m”或“h”说明符。请参阅[MSDN](http://msdn.microsoft.com/zh-cn/library/dwhawy9k.aspx)。你只是在处理“数字”而不是“分钟/秒”!另外,您不需要为> 10的值显式指定“2个位置”。 – 2012-02-15 11:03:35