Go で時間オフセットを場所/タイムゾーンに変換する
タイム ゾーンとオフセットを使用する場合、次のことが必要なシナリオに遭遇するのが一般的です。文字列として表される生の時間オフセットを Go で使用可能な位置オブジェクトに変換します。これは、time パッケージで提供されるメソッドを使用して簡単に実現できます。
「 1100」などの任意の時間オフセットを取得したとします。このオフセットを表す time.Location オブジェクトを作成するには、次のように、FixedZone 関数を使用するだけです。
loc := time.FixedZone("UTC+11", +11*60*60)
この関数は、指定された名前と秒単位のオフセットを持つ場所を作成します。
関連付けるにはこの新しく作成された位置の時刻を取得するには、In メソッドを使用します。
t = t.In(loc)
この操作は、指定された位置を反映するように時刻 t を変更し、そのオフセットを更新します。
さまざまなコンテキストでの時間の変換とその後の出力を示す例を次に示します。
package main import ( "fmt" "time" ) func main() { loc := time.FixedZone("UTC+11", +11*60*60) t := time.Now() // Output the original time and location fmt.Println(t) // Output: 2023-09-13 18:37:08.729331723 +0000 UTC fmt.Println(t.Location()) // Output: UTC // Apply the new location to the time t = t.In(loc) // Output the modified time and location fmt.Println(t) // Output: 2023-09-14 05:37:08.729331723 +1100 UTC+11 fmt.Println(t.Location()) // Output: UTC+11 // Output the UTC equivalent of the modified time fmt.Println(t.UTC()) // Output: 2023-09-13 18:37:08.729331723 +0000 UTC fmt.Println(t.Location()) // Output: UTC+11 }
このコードは、時間オフセットを位置オブジェクトに変換して適用する方法を示しています。さまざまなタイムゾーンに関して正確な表現を取得するための時間に調整します。
以上がGo で時間オフセット文字列を Time.Location オブジェクトに変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。