ホームページ >バックエンド開発 >Golang >Go アプリケーションでタイムゾーンをグローバルに設定するにはどうすればよいですか?

Go アプリケーションでタイムゾーンをグローバルに設定するにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-12-02 08:22:09534ブラウズ

How Can I Globally Set the Time Zone in a Go Application?

Go でタイム ゾーンをグローバルに設定する

Go では、通常、タイム ゾーンをグローバルに設定するには、TZ 環境変数を変更するか初期化します。 time.LoadLocation() 関数を使用します。 TZ 環境の変更は期待どおりに機能しますが、アプリケーション内でタイム ゾーンをプログラムで設定する必要がある場合に問題が発生します。

これを克服するには、他のパッケージよりも前にタイム ゾーンを設定するカスタム パッケージを作成できます。時間パッケージをインポートします。このカスタム パッケージをメイン パッケージの最初のインポートとして配置することで、他のパッケージが使用する前に、タイム ゾーンが目的の値で初期化されるようになります。

そのようなパッケージの例は次のとおりです:

package tzinit

import (
    "os"
)

func init() {
    os.Setenv("TZ", "Africa/Cairo")
}

このパッケージを使用するには、次のように最初にメイン パッケージにインポートします。

package main

import _ "path/to/tzinit"

import (
    "fmt"
    "os"
    "time"
)

func main() {
    // ...
}

このアプローチを使用すると、時間を設定できます

Go の仕様では、複数のファイルを語彙的なファイル名の順序で処理することが推奨されていますが、この動作のみに依存することは推奨されないことに注意してください。 。 Go アプリケーションを起動する前に TZ 環境変数を設定することは、タイムゾーンが意図したとおりに初期化されることを保証する最も信頼できる方法です。

以上がGo アプリケーションでタイムゾーンをグローバルに設定するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。