3

我正在使用 .NET 4 并在执行以下操作时收到 Input string not in correct format 错误:

TimeSpan dropTime=TimeSpan.ParseExact("01:33 PM", "hh:mm tt", CultureInfo.InvariantCulture);

我究竟做错了什么?我也尝试过TT,以防万一,但这样做。否则我的格式似乎匹配?

4

3 回答 3

7

tt不是MSDNTimeSpan上所见的有效格式说明符。

您要解析的是时间而不是TimeSpan -PM指定一天中的时间,而不是时间间隔(TimeSpan代表什么)并且不能直接由TimeSpan.

您可以DateTime先使用它来解析它并从中获取TimeSpan

DateTime.ParseExact("01:33 PM", "hh:mm tt", CultureInfo.InvariantCulture).TimeOfDay
于 2012-06-14T18:01:02.417 回答
3

您必须改用该类DateTime

TimeSpan dropTime=DateTime.ParseExact("01:33 PM", "hh:mm tt", CultureInfo.InvariantCulture).TimeOfDay;
于 2012-06-14T18:04:57.380 回答
0

只需使用 DateTime 对象,请参阅我的示例代码:

DateTime dropTime = new DateTime();
DateTime.TryParse("01:33 PM", out dropTime);

这会将您的字符串解析为日期时间。

最好的问候,格雷戈尔·普里马尔

于 2012-06-14T18:10:28.977 回答