2016-04-20 23 views

答えて

0

があります。

ここでは、DateTimeオブジェクトにアタッチされている暗黙的なタイムゾーンはありません。 ToUniversalTime()を実行すると、コードが実行されているコンテキストのタイムゾーンが使用されます。

例えば、私は1970年1月1日からDateTimeを作成すると、世界のどこにいてもDateTimeオブジェクト。

グリニッジでコードを実行しているときにToUniversalTime()を実行すると、同じ時刻になります。私がバンクーバーに住んでいる間にそれを行うと、-8時間のオフセットDateTimeオブジェクトが得られます。

これは、あらゆる種類の日付変換やローカリゼーションを行う必要がある場合に、データベースに時間関連の情報を格納することが重要な理由です。あなたのコードベースが別のタイムゾーンのサーバ施設に移動された場合を考えてください)

あなたは質問と完全な回答hereを見つけることができます。

0

デフォルトでは、DateTimeオブジェクトはDateTimeKind.Localと入力されます。日付を解析してDateTimeKind.Utcとして設定すると、ToUniversalTime()は変換を実行しません。 ToUniversalTime()を実行すると、コードが実行されているコンテキストのタイムゾーンが使用されます。

関連する問題