2012-01-07 28 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); 
相关问题