2011-07-25 71 views
3

我無法解析這個日期時間:解析自定義DateTime

 DateTime ParseDateTime(string dateString) 
     { 
      //dateString is "2011-07-22 16:11:14,770" 
      var format = "yyyy-MM-dd hh:mm:ss,fff"; 
      var dateTime = DateTime.ParseExact(dateString, format, CultureInfo.InvariantCulture); 
      return dateTime; 
     } 

我在做什麼錯?

+0

什麼是'@''中的變量format'?你的意思是'@「...」'? – Tocco

+0

我更新了代碼 – Robert

+0

適用於我提供的示例。 – BrokenGlass

回答

4

我想你的格式開頭多餘的@是錯誤的。所以:

var format = "yyyy-MM-dd hh:mm:ss,fff"; 

你可能是由一個verbatim string literal這就是@表示困惑。

例如,下面的工作完全正常:

class Program 
{ 
    static void Main() 
    { 
     var format = "yyyy-MM-dd hh:mm:ss,fff"; 
     var dateTime = DateTime.ParseExact("2011-07-25 11:10:17,328", format, CultureInfo.InvariantCulture); 
     Console.WriteLine(dateTime); 
    } 
} 
+0

字符串未被識別爲有效的DateTime異常 – Robert

+0

@Robert,所以你的字符串doesn' t等於你說的在你的問題中所做的。它的實際價值是什麼?正如你可以在我的更新回答中看到,如果值爲'2011-07-25 11:10:17,328',那麼''yyyy-MM-dd hh:mm:ss,fff'解析格式可以很好地適用'InvariantCulture' –

+0

這個問題是因爲它應該是HH而不是hh,因爲它是24小時的時間 – Robert