Go でのグローバル タイムゾーンの設定
Go では、通常、タイムゾーンは環境変数 TZ を通じて設定されます。 Docker コンテナーまたは Bash 経由でこの変数を設定することは機能しますが、代わりの方法は、Go アプリケーションで os.SetEnv 関数を使用することです。ただし、他のパッケージが既に時刻パッケージにアクセスしている場合、このアプローチは失敗する可能性があります。
他のパッケージが時刻にアクセスする前に os.SetEnv がタイムゾーンを設定するようにするには、次の解決策を使用できます。
タイムゾーンのパッケージを作成する初期化:
次のコードで tzinit という名前の別のパッケージを作成します:
package tzinit import ( "os" ) func init() { os.Setenv("TZ", "Africa/Cairo") }
メイン パッケージに tzinit を最初にインポートします:
メイン パッケージで、tzinit パッケージを最初のインポート ステートメント:
package main import _ "path/to/tzinit" // Other imports
tzinit を最初にインポートすると、他のパッケージが time パッケージにアクセスする前にタイムゾーンが設定されます。
注:
Go アプリケーション内からの TZ 環境変数の設定は、ほとんどの場合機能しますが、一貫性と決定性のある動作を実現するために、Go アプリを起動する前にこの変数を設定することをお勧めします。
以上がGo アプリケーションでグローバル タイムゾーンを確実に設定するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。