Golang タイム ゾーン設定の完全ガイド
世界がよりグローバル化され、相互接続されるにつれて、開発者の日常業務において、さまざまな地域の時刻と日付を処理することが重要になってきています。 。タイムゾーンの設定は、Go において一般的ではありますが、混乱を招く可能性がある問題です。この記事では、Golang でタイムゾーンを正しく設定する方法を詳しく紹介し、読者の理解を助ける具体的なコード例を示します。
Go 言語では、タイム ゾーン関連の操作が time
パッケージによってサポートされています。 Go では、タイムゾーンは time.Location
型で表されます。 Go 言語には、UTC、ローカルなどの一般的に使用されるタイム ゾーンが組み込まれており、IANA タイム ゾーン データベースからのより多くのタイム ゾーン情報のロードもサポートしています。
Go 言語にはいくつかの組み込みのタイム ゾーンが用意されており、最も一般的に使用されるのは UTC です。およびローカルタイムゾーン。以下は、これら 2 つの組み込みタイム ゾーンの使用方法に関するサンプル コードです。
package main import ( "fmt" "time" ) func main() { utc := time.Now().UTC() fmt.Println("当前UTC时间:", utc) local := time.Now().Local() fmt.Println("当前本地时间:", local) }
組み込みタイム ゾーンの使用に加えて、次のこともできます。 time.LoadLocation
関数を使用して、IANA タイム ゾーン情報を読み込みます。以下は、「America/New_York」タイム ゾーンをロードするサンプル コードです:
package main import ( "fmt" "time" ) func main() { loc, err := time.LoadLocation("America/New_York") if err != nil { fmt.Println("加载时区失败:", err) return } nyTime := time.Now().In(loc) fmt.Println("America/New_York 时间:", nyTime) }
ある時刻を別のタイム ゾーンに変換する必要がある場合があります。 #time.Time 型の
##In メソッドを使用します。以下は、UTC タイムゾーンから「アジア/上海」タイムゾーンに時間を変換するサンプルコードです:
package main import ( "fmt" "time" ) func main() { utc := time.Now().UTC() shanghai, _ := time.LoadLocation("Asia/Shanghai") shanghaiTime := utc.In(shanghai) fmt.Println("UTC时间:", utc) fmt.Println("上海时间:", shanghaiTime) }
time.Location タイプのメソッドを通じて取得できます。以下は、「アジア/東京」タイム ゾーン オフセットを取得するサンプル コードです。
package main import ( "fmt" "time" ) func main() { tokyo, _ := time.LoadLocation("Asia/Tokyo") zoneName, offset := tokyo.Zone() fmt.Println("时区名称:", zoneName) fmt.Println("时区偏移量:", offset) }
以上がGolang タイムゾーン設定の完全ガイドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。