如何将TimeSpan转换为24小时和分钟字符串?
我使用此代码将Timespan
转换为String
(例如:14:53):
myTimeSpan.ToString("hh:mm");
但是会发生以下错误:
输入字符串的格式不正确
这样做的正确方法是什么?
myTimeSpan.ToString(@"hh\:mm")
自定义TimeSpan格式字符串
自定义TimeSpan格式说明符不包括占位符分隔符符号,例如将小时数与小时数,小时数与分数数或秒数(小数秒)分隔开的符号。 相反,这些符号必须作为字符串文字包含在自定义格式字符串中。 例如,“dd.hh \:mm”将句点(。)定义为天和小时之间的分隔符,并将冒号(:)定义为小时和分钟之间的分隔符。
你需要为TimeSpan
使用@"hh\:mm\"
。 Timespan格式与DateTime
不完全相同
myTimeSpan.ToString(@"hh\:mm");
查看Msdn了解更多信息
var result = string.Format("{0:D2}:{1:D2}", myTimeSpan.Hours, myTimeSpan.Minutes);
来自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格式字符串
- 自定义TimeSpan格式字符串
请记住 , TimeSpan.ToString(String)
重载仅适用于.NET 4或更高版本。
试试这将100%工作!
myTimeSpan.ToString(@"dd\.hh\:mm");.