2012-06-14 34 views
3

執行以下時,我使用.NET 4和獲取輸入字符串的格式不正確的錯誤:TimeSpan.ParseExact ASP.NET 4 C#

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

我在做什麼錯?我也試過TT,以防萬一,但是這樣做。否則我的格式似乎匹配?

回答

6

tt對於TimeSpan不是有效的格式說明符,可以看到on MSDN

你正在嘗試解析是時間不是時間跨度 - PM指定一天的時間,而不是一個時間間隔(這是TimeSpan代表),並不能由TimeSpan直接解析。

您可以使用DateTime解析這個第一,並獲得TimeSpan從中:

DateTime.ParseExact("01:33 PM", "hh:mm tt", CultureInfo.InvariantCulture).TimeOfDay 
+0

謝謝。所以我假設我需要首先將它解析爲DateTime。 – Rivka

+0

@Rivka - 是的,這將工作。新增示例。 – Oded

3

你必須使用類DateTime來代替:

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

你們很快,謝謝。 – Rivka

0

只需使用DateTime對象,請看到我的示例代碼:

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

This wil我把你的字符串解析成datetime。

此致敬禮, Gregor Primar

+0

OP需要一個'TimeSpan'。 – Oded