2011-04-13 32 views
2

我有以下解析這個字符串轉換成DateTime對象在C#:字符串轉換爲日期時間在C#與EDT末

Wed, 13 Apr 2011 07:11:04 -0400 (EDT) 

什麼是這樣做的最簡單的方法是什麼?

我明白有DateTime.Parse和DateTime.ParseExact,但我想弄清楚上面這個自定義格式的語法。

+1

此外['DateTime.Parse'](http://msdn.microsoft.com/en-us/library/1k1skd40.aspx)方法? – R0MANARMY 2011-04-13 23:58:24

+0

你有沒有嘗試過將它傳遞給新的DateTime對象的構造函數? – Thebigcheeze 2011-04-13 23:58:47

+0

哇你在這個網站上問了很多問題 – 2011-04-14 00:05:35

回答

3

您需要使用DateTime.ParseExact,並通過在一個自定義格式。
喜歡的東西:

var parsed = DateTime.ParseExact("Wed, 13 Apr 2011 07:11:04 -0400 (EDT)", 
           "ddd, dd MMM yyyy HH:mm:ss zzz", null); 

注意
時區的縮寫,不支持,因爲他們是沒有官方指定,他們有時會產生歧義。
您應該從輸入中去掉以解析上述內容。如果你知道可能的值是什麼,你可以看看自己的解析。

+0

基本上我的問題是自定義格式語法是什麼來解析上述。 – leora 2011-04-14 00:02:39

+0

我看不到這個過載。所有過載似乎也需要FormatProvider以及 – leora 2011-04-14 01:55:01

+0

@ooo如果您不想傳遞格式提供程序,則可以傳遞'null'或'CultureInfo.InvariantCulture'。 - 抱歉從內存中輸入代碼。 – 2011-04-14 08:24:53

相關問題