2012-10-30 92 views
4

我試圖解析日期字符串日期時間格式如下對象:日期時間解析複雜的字符串C#

星期二,2012 9時51分二十秒+0000

10月30日我迄今爲止嘗試過的有很多與DateTime.ParseExact()不同的變體。

我曾嘗試:

DateTime.ParseExact("Mon, 29 Oct 2012 12:13:51 +0000", 
        "ddd, dd MM yyyy hh':'mm':'ss zzz", 
        CultureInfo.InvariantCulture); 

隨着成千上萬的不同的格式爲第二個參數,使用空,而不是InvarantCulture作爲第三個參數等等等等,我不能讓它開始工作。我應該如何解析這樣的字符串?

非常感謝。

回答

7

如何

var s = "Tue, 30 Oct 2012 09:51:20 +0000"; 
DateTime.ParseExact(s, "ddd, dd MMM yyyy hh:mm:ss zzz", CultureInfo.InvariantCulture) 

月份(Oct)實際上是MMM,不MM和時間(09:51:20)應hh:mm:ss而不是hh':'mm':'ss

+2

一些參考材料:http://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx –

+0

啊,我看。非常感謝:) –

+0

請注意,如果您想使用24h時鐘而不是12h時鐘,則可能需要使用'HH'而不是'hh'。 – sloth

2

正確的解析是

DateTime.ParseExact("Mon, 29 Oct 2012 12:13:51 +0000", "ddd, dd MMM yyyy HH:mm:ss K", CultureInfo.InvariantCulture); 

看看here