質問: dt.AddHours(6); return dt; } ``` 何らかの理由で、私が `Response.Write` にdatetimeが返された場合、6時間は追加されませんでした。私がaspx.csファイルで上記を行い、結果を書き出すと、それは動作します。私はここで何か間違っていますか? ありがとう
回答: より良い解決策は、 `DateTime.Now` (ローカルタイムゾーンに依存します)を使用することを避け、 `DateTimeOffset` (*明示的* `DateTime.UtcNow` は、少なくとも現地時間ではなく*普遍的な*時間を返します。サーバーの現地時間に*興味がある*わけではありません。現在の*インスタント*時間に興味があります。コードを6時間ハードコーディングするのではなく、どこでも `DateTimeOffset` またはユニバーサル `DateTime` の値を使って作業することで、後でいくつかのクライアントが異なるタイムゾーンにあっても*作業する可能性がより高くなります*。 結局のところ、 `DateTime` は、はっきりと確実に動作する痛みのビットです。