1

私がする時:

string strDate = "2013-03-03T22:58:43.0422158Z";
DateTime dt1 = DateTime.ParseExact(strDate, "o", CultureInfo.InvariantCulture);
DateTime dt2 = DateTime.ParseExact(strDate, "yyyy-MM-ddTHH:mm:ss.fffffffZ", CultureInfo.InvariantCulture);

dt1 と dt2 の両方が になり{3/3/2013 2:58:43 PM}ます。文字列の時刻、つまり3/3/2013 10:58:43 PM.

そのように解析する方法はありますか?

4

2 に答える 2

1

それはあなたのタイムゾーンでの同等の時間です。時間をユニバーサル(「ズールー」)時間で保存(または表示)する場合は、

dt1.ToUniversalTime.ToString();

文字列を解析するときにこれを行うには、次を使用しますDateTimeStyles.AdjustToUniversal

DateTime dt1 = DateTime.ParseExact(strDate, 
                                   "o", 
                                   CultureInfo.InvariantCulture, 
                                   DateTimeStyles.AdjustToUniversal);
于 2013-03-05T03:21:31.653 に答える
0

これを試してください。「相対タイムゾーンは考慮されません」:

DateTime dt2 = DateTime.ParseExact(strDate.TrimEnd(new char [] { 'Z' }), 
                                   "yyyy-MM-ddTHH:mm:ss.fffffff",
                                   CultureInfo.InvariantCulture, 
                                   DateTimeStyles.AssumeLocal);

その他の選択肢

于 2013-03-05T03:34:40.523 に答える