将字符串转换为TimeSpan不起作用

时间:2013-08-27 10:51:19

标签: timespan managed-c++

我正在尝试将字符串转换为timeSpan,但我似乎无法做到。

我正在使用c ++托管代码:

TimeSpan timeSpan;
if (TimeSpan::TryParse("01.55", timeSpan))
{  
  int minute = timeSpan.Minutes;
  int hours= timeSpan.Hours;
  //do some work here
}

TryParse正在返回flase。 我做错了什么?

谢谢,

1 个答案:

答案 0 :(得分:0)

时间格式错误,请参阅MSDN TimeSpan::TryParse

格式应为:[ws][-]{ d | d.hh:mm[:ss[.ff]] | hh:mm[:ss[.ff]] }[ws]

或简称您的示例1:55而不是1.55。这是 1小时 55分钟的格式。你的符号是days.hours,这也是错误的,因为一天只有24小时,所以TimeSpan允许最大值为23.你的字符串仍然需要:0:0所以它形成dd.hh:mm:ss才能被成功解析。