time.LoadLocation を使用して Go で UTC を特定のタイム ゾーンに変換する
UTC 時間を特定の現地時間に変換するときは、次の点を考慮することが重要です正確性を保つためのタイムゾーン情報。時差を手動で追加しようとすると、不正確な結果が生じる可能性があります。
代わりに、Go で推奨されるアプローチは、 time.LoadLocation を使用して目的の場所のタイム ゾーン情報を取得することです。修正された Go コードの例は次のとおりです。
var countryTz = map[string]string{ "Hungary": "Europe/Budapest", "Egypt": "Africa/Cairo", } func timeIn(name string) time.Time { loc, err := time.LoadLocation(countryTz[name]) if err != nil { panic(err) } return time.Now().In(loc) } func main() { utc := time.Now().UTC().Format("15:04") hun := timeIn("Hungary").Format("15:04") eg := timeIn("Egypt").Format("15:04") fmt.Println(utc, hun, eg) }
この例では、地図 (countryTz) を使用して、国名を対応するタイムゾーン文字列に関連付けます。 timeIn 関数は国名を取得し、time.LoadLocation を使用してタイム ゾーン情報をロードし、その特定のタイム ゾーンの現在時刻を返します。
次に main 関数は、ハンガリーの UTC 時刻と現地時刻を出力します。 timeIn を使用したエジプト。このアプローチにより、タイムゾーンと夏時間の違いが正しく処理されることが保証されます。
以上がGo で UTC 時間を特定のタイムゾーンに正確に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。