4

VB.net を使用して "yyyy-MM-ddZ" 形式の文字列を変換する際に問題が発生しています。

たとえば、「2007-10-21Z」という文字列があります。

CDate または TryParse を使用すると、2007 年 10 月 21 日ではなく 2007 年 10 月 20 日になります。

Z が日付文字列にどのように影響するかを理解していないため、解析すると前日になります。

私が理解していることから、Zはゼロタイムゾーンを指定しています。しかし、日付文字列には時間情報がありません。これはどのように作動しますか?

4

4 に答える 4

8

日付をズールー (GMT) 時間の真夜中と解釈し、ローカル タイム ゾーンに戻します。米国にいる場合は、前日の午後 3 時から午後 7 時の間です。

于 2008-11-01T00:23:23.487 に答える
6

試す

DateTime.ParseExact("2007-10-21Z", "yyyy-MM-ddZ", CultureInfo.InvariantCulture);

于 2008-11-01T01:04:54.820 に答える
4

日付に「Z」を追加すると、時刻がUTCであることを指定します。日付を CDate of TryParse すると、現地時間に変換されます。

于 2008-11-01T00:22:51.567 に答える
0

うわー、それは面白いです。C# で試してみます DateTime.Parse("2008-10-31").ToString(); 結果は「10/30/2008 5:00:00 PM」です。

答えが待ちきれません!

于 2008-11-01T00:18:21.920 に答える