转换字符串的最佳方法是:
Mon Nov 05 2012 21:27:58 GMT+0000 (GMT Standard Time)
进入.NET中的DateTime
?我希望保留尽可能多的日期,即TimeZone。
我正在尝试这个,但它失去了GMT
:
DateTime.ParseExact(date.Substring(0, 24),
"ddd MMM d yyyy HH:mm:ss",
CultureInfo.InvariantCulture);
答案 0 :(得分:3)
它不是很强大,但它适用于你的例子:
DateTimeOffset.ParseExact(date.Substring(0, 33) // remove time zone
.Remove(25,3) // remove "GMT" before offset
,"ddd MMM dd yyyy HH:mm:ss zzz"
,System.Globalization.CultureInfo.InvariantCulture);
答案 1 :(得分:-1)
分割字符串并使用某些格式将其转换为日期时间的简便方法。但是如果其他一些格式出现在你身上呢。
尝试这个。
http://www.codeproject.com/Articles/33298/C-Date-Time-Parser
样品
string str = @"Your program recognizes string : 21 Jun 2010 04:20:19 -0430 blah blah.";
DateTimeRoutines.ParsedDateTime pdt;
if(str.TryParseDateTime(DateTimeRoutines.DateTimeFormat.USA_DATE, out pdt) && pdt.IsUtcOffsetFound)
Console.WriteLine("UTC date&time was found: " + pdt.UtcDateTime.ToString());