ホームページ > バックエンド開発 > Golang > Go で UTC 時間を特定のタイムゾーンに正確に変換するにはどうすればよいですか?

Go で UTC 時間を特定のタイムゾーンに正確に変換するにはどうすればよいですか?

Susan Sarandon
リリース: 2024-12-19 02:14:08
オリジナル
298 人が閲覧しました

How to Accurately Convert UTC Time to a Specific Time Zone in Go?

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート