タイムゾーンを維持しながら日付に日を追加する
日付に日を追加する場合は、タイムゾーンの変更と、正確な結果を保証します。
最初のアプローチである GivenDate.Add(time.Hour * time.Duration(24)) は、特定のタイムゾーンで誤った動作を引き起こす可能性があり、24 時間を追加しても日付が完全に進まない可能性があります。 day.
より信頼性の高い方法は、time.Date() を使用して目的の日付コンポーネントを指定することです。このメソッドでは、最終パラメータとして渡されたタイムゾーンが考慮されます。例:
<code class="go">t2 := time.Date(givenDate.Year(), givenDate.Month(), givenDate.Day()+1, 0, 0, 0, 0, loc)</code>
このソリューションは、日付コンポーネントを翌日に明示的に設定し、時間コンポーネントを午前 0 時 (0 時間、0 分、0 秒) に初期化します。 loc パラメータは、適用されるタイムゾーンを指定する time.Location オブジェクトです。
givenDate.Date() を使用して日付コンポーネント (年、月、日) を抽出し、構築することで最適化を行うことができます。新しい時刻を使用します:
<code class="go">y, m, d := givenDate.Date() t2 := time.Date(y, m, d+1, 0, 0, 0, 0, loc)</code>
このアプローチにより、Time.Date() メソッドを複数回呼び出すことがなくなり、パフォーマンスが向上します。
time.Date() を使用すると、日を追加できます正しいタイムゾーンを維持しながら日付を更新し、標準以外の時間の推移があるタイムゾーンでも正確な結果を保証します。
以上がタイムゾーンを維持しながら日付に日を追加するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。