1. ホーム
  2. c#

[解決済み] DateTime.ParseがUTCの日付をパースできない理由

2023-05-18 11:55:49

質問

なぜ はこれをパースできないのか。

DateTime.Parse("Tue, 1 Jan 2008 00:00:00 UTC")

どのように解決するのですか?

UTC"は有効なタイムゾーン指定子ではないため、その文字列をパースすることはできません。

UTC時間は時間文字列の最後に'Z'を追加することで示されるため、パースコードは次のようになります。

DateTime.Parse("Tue, 1 Jan 2008 00:00:00Z");

からの ISO 8601 に関するウィキペディアの記事

<ブロッククオート

時刻が UTC の場合は、'Z' を時刻の直後に追加します。 を追加してください。 を追加します。Z' はゼロ UTC オフセットのためのゾーン指定子です。 UTCオフセットがゼロの場合、"09:30 UTC"となります。 したがって、"09:30Z" と表現されます。 "0930Z" となります。 "14:45:15 UTC" は、次のようになります。 "14:45:15Z" または "144515Z"となります。

UTC時間は「Zulu」時間としても知られています。 Zulu」はNATOの表音文字で「Z」を意味するため、「Zulu」時間とも呼ばれています。 Zulu」はNATOのアルファベットで「Z」を表す言葉であるためです。