Go では、オフセットのみの時刻データがあり、位置情報が欠落している状況に遭遇することがあります。この時間データを効果的に利用し、正確なタイム ゾーン変換を保証するには、時間オフセットを表す使用可能な time.Location オブジェクトを作成すると有益です。
これを実現するには、time.FixedZone 関数を利用できます。これは 2 つのパラメータを取ります:
これらのパラメータを組み合わせることで、指定されたオフセットを持つ位置オブジェクトを作成できます。例:
loc := time.FixedZone("UTC+11", +11*60*60)
位置オブジェクトを取得したら、それを時間オブジェクトに割り当てて位置を設定できます:
t = t.In(loc)
これにより、time.Time オブジェクトが確実に設定されます。には、時間オフセットと指定された場所の両方があります。
より分かりやすい完全な例を次に示します。 comprehension:
package main import ( "fmt" "time" ) func main() { offset := "+1100" // Parse the time using the original offset t, err := time.Parse("15:04 GMT-0700", "15:06 GMT"+offset) if err != nil { fmt.Println("Parsing failed:", err) } // Create a location object using time.FixedZone loc := time.FixedZone("UTC+11", +11*60*60) // Set the time object's location t = t.In(loc) // Output the time in different contexts fmt.Println("Original time:", t) fmt.Println("Location:", t.Location()) fmt.Println("UTC:", t.UTC()) // A more concise example: t = time.Now().In(time.FixedZone("UTC+11", +11*60*60)) fmt.Println("Concise example:", t) }
このコードは、指定された時間オフセットの UTC オフセットと位置情報を正しく記録するようになりました。この手法を活用することで、さまざまなオフセットを持つ時間データを効果的に管理し、正確なタイム ゾーンの変換と表現を保証できます。
以上がGo で時間オフセットを位置オブジェクトに変換するには?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。