0

次のような文字列を変換するための最良の方法は何ですか。

Mon Nov 05 2012 21:27:58 GMT+0000 (GMT Standard Time)

DateTime.NETのに?できるだけ多くの日付、つまりTimeZoneを保持したいと思います。

私はこれを試していますが、それは失われますGMT

DateTime.ParseExact(date.Substring(0, 24),
                             "ddd MMM d yyyy HH:mm:ss",
                             CultureInfo.InvariantCulture);
4

2 に答える 2

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);
于 2012-11-06T13:07:12.150 に答える
-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());
于 2012-11-06T13:13:37.847 に答える