2012-01-07 74 views
1

我遇到了這個奇怪的數據字符串,我真的不知道我能做些什麼來轉換它。如何將這個奇怪的字符串轉換爲ASP.net中的DateTime格式

「星期六2007年1月三時18分58秒+0000 2012」

有誰知道如何將它轉換?

+0

有什麼好奇怪的呢? – 2012-01-07 03:46:02

+0

同意。它看起來像標準的DateTime字符串,帶有GMT(時區)偏移量(+0000)分量。 – user978122 2012-01-07 03:47:51

+0

你試過了什麼?你的代碼? – 2012-01-07 03:54:02

回答

1

您可以使用DateTimeOffset.ParseExact方法指定日期所在的確切custom format string,如下所示。我使用DateTimeOffset,因爲您在字符串中有時區偏移值。

string myDateString = "Sat Jan 07 03:18:58 +0000 2012"; 
string customFormat = "ddd MMM dd HH:mm:ss zzz yyyy"; 

DateTimeOffset dto = DateTimeOffset.ParseExact(myDateString, customFormat, CultureInfo.InvariantCulture); 

然後,您可以根據需要使用DateTimeOffset結構的不同屬性來處理日期。

+0

啊,打我吧。 – 2012-01-07 04:48:04

+0

哈哈哈...猜我也遲到了派對。 – 2012-01-07 04:55:41

+0

工程就像一個魅力!謝謝 ! – 2012-01-07 05:06:19

0
DateTime dateValue; 
DateTime parsedDate; 

string dateString = "Sat Jan 07 03:18:58 +0000 2012";  

if (DateTime.TryParseExact(dateString, "ddd MMM dd HH:mm:ss zzz yyyy", null, DateTimeStyles.None, out parsedDate)) 
    { 
     dateValue = parsedDate;    
    } 
0

嘗試使用DateTime.ParseExact:

CultureInfo enUS = new CultureInfo("en-US"); 
    string strDate = "Sat Jan 07 03:18:58 +0000 2012"; 
    DateTime dt = DateTime.ParseExact(strDate, "ddd MMM dd hh:mm:ss zzz yyyy", enUS, DateTimeStyles.None); 
相關問題