33

我使用此代码转换TimespanString(例如:14:53):

myTimeSpan.ToString("hh:mm");

但发生此错误:

输入字符串的格式不正确

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

4

5 回答 5

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

自定义 TimeSpan 格式字符串

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

于 2013-08-28T08:09:56.673 回答
11
var result = string.Format("{0:D2}:{1:D2}",  myTimeSpan.Hours, myTimeSpan.Minutes);
于 2013-08-28T08:12:33.033 回答
11

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

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

查看Msdn了解更多信息

于 2013-08-28T08:11:54.223 回答
3

TimeSpan.ToString Method (String)

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

作为替代方案,您可以使用String.Formatlike;

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

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

于 2013-08-28T08:10:59.350 回答
0

试试这个会 100% 工作!

myTimeSpan.ToString(@"dd\.hh\:mm");.
于 2013-08-28T08:09:36.730 回答