ホームページ >バックエンド開発 >Golang >Go で時間オフセット文字列を Time.Location オブジェクトに変換する方法

Go で時間オフセット文字列を Time.Location オブジェクトに変換する方法

Barbara Streisand
Barbara Streisandオリジナル
2024-12-14 19:29:13185ブラウズ

How to Convert a Time Offset String to a Time.Location Object in Go?

Go で時間オフセットを場所/タイムゾーンに変換する

タイム ゾーンとオフセットを使用する場合、次のことが必要なシナリオに遭遇するのが一般的です。文字列として表される生の時間オフセットを Go で使用可能な位置オブジェクトに変換します。これは、time パッケージで提供されるメソッドを使用して簡単に実現できます。

「 1100」などの任意の時間オフセットを取得したとします。このオフセットを表す time.Location オブジェクトを作成するには、次のように、FixedZone 関数を使用するだけです。

loc := time.FixedZone("UTC+11", +11*60*60)

この関数は、指定された名前と秒単位のオフセットを持つ場所を作成します。

関連付けるにはこの新しく作成された位置の時刻を取得するには、In メソッドを使用します。

t = t.In(loc)

この操作は、指定された位置を反映するように時刻 t を変更し、そのオフセットを更新します。

さまざまなコンテキストでの時間の変換とその後の出力を示す例を次に示します。

package main

import (
    "fmt"
    "time"
)

func main() {
    loc := time.FixedZone("UTC+11", +11*60*60)
    t := time.Now()

    // Output the original time and location
    fmt.Println(t)      // Output: 2023-09-13 18:37:08.729331723 +0000 UTC
    fmt.Println(t.Location()) // Output: UTC

    // Apply the new location to the time
    t = t.In(loc)

    // Output the modified time and location
    fmt.Println(t)      // Output: 2023-09-14 05:37:08.729331723 +1100 UTC+11
    fmt.Println(t.Location()) // Output: UTC+11

    // Output the UTC equivalent of the modified time
    fmt.Println(t.UTC()) // Output: 2023-09-13 18:37:08.729331723 +0000 UTC
    fmt.Println(t.Location()) // Output: UTC+11
}

このコードは、時間オフセットを位置オブジェクトに変換して適用する方法を示しています。さまざまなタイムゾーンに関して正確な表現を取得するための時間に調整します。

以上がGo で時間オフセット文字列を Time.Location オブジェクトに変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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