如何将TimeSpan转换为24小时和分钟字符串?

时间:2013-08-28 08:05:32

标签: c# tostring timespan

我使用此代码将Timespan转换为String(例如:14:53):

myTimeSpan.ToString("hh:mm");

但发生此错误:

  

输入字符串的格式不正确

这样做的正确方法是什么?

5 个答案:

答案 0 :(得分:38)

myTimeSpan.ToString(@"hh\:mm")

Custom TimeSpan Format Strings

  

自定义TimeSpan格式说明符不包含占位符   分隔符号,例如将小时与小时分开的符号,   几分钟或几秒钟的小时数。相反,这些   符号必须作为字符串包含在自定义格式字符串中   文字。例如,“dd.hh \:mm”将句点(。)定义为   天和小时之间的分隔符,以及冒号(:)作为分隔符   小时和分钟之间。

答案 1 :(得分:10)

您需要@"hh\:mm\"使用TimeSpan。时间跨度格式与DateTime

不完全相同
myTimeSpan.ToString(@"hh\:mm");

查看Msdn了解详情

答案 2 :(得分:9)

var result = string.Format("{0:D2}:{1:D2}",  myTimeSpan.Hours, myTimeSpan.Minutes);

答案 3 :(得分:2)

来自TimeSpan.ToString Method (String)

TimeSpan t = new TimeSpan(14, 53, 0);
Console.WriteLine(t.ToString(@"hh\:mm"));

作为替代方案,您可以使用String.Format之类的;

Console.WriteLine(String.Format("{0}:{1}", t.Hours, t.Minutes));

记住TimeSpan.ToString(String)重载仅适用于.NET 4或更高版本。

答案 4 :(得分:0)

尝试这将100%工作!!

myTimeSpan.ToString(@"dd\.hh\:mm");.