如何解决“输入字符串格式不正确”的问题。使用TimeSpan.ToString()时?

时间:2019-05-14 21:02:52

标签: c# time tostring timespan

我有一个程序来管理客户的到来,每当创建新客户时,TimeSpan属性TimeOfArrival的分配时间为:

TimeSpan TimeOfArrival = DateTime.Now.TimeOfDay;

现在我正尝试以一种更方便的方式将其放入:

string ShortTime = TimeOfArrival.ToString("hh:mm");

尽管现在我得到以下异常:

  

System.FormatException:'输入字符串的格式不正确。'

我似乎无法理解问题所在。我检查了一下,在得到异常之前,TimeOfArrival实际上具有正确的TimeSpan值。如果我尝试将用户输入解析为TimeSpan,那么该异常不会令我感到惊讶,但是我感到困惑。有人可以帮忙吗? 预先感谢

2 个答案:

答案 0 :(得分:1)

您超级亲密。

只需更改为传入的字符串格式:

string ShortTime = TimeOfArrival.ToString(@"hh\:mm");

有关更多示例,请参见TimeSpan.ToString()

  

如果我尝试解析用户,该异常不会令我惊讶   输入到TimeSpan中,但是我很困惑。

因此,要解析的内容和格式不正确的是传递给ToString()的字符串;完全没有TimeOfArrival。

答案 1 :(得分:1)

MSDN's Example所示,格式应为以下形式:

@"hh\:mm"

"h'h 'm'm"也应该工作。