ホームページ > バックエンド開発 > Golang > Go で時間オフセットを位置オブジェクトに変換するには?

Go で時間オフセットを位置オブジェクトに変換するには?

Barbara Streisand
リリース: 2024-12-17 12:36:25
オリジナル
285 人が閲覧しました

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

Go で時刻オフセットを位置に変換する

Go では、オフセットのみの時刻データがあり、位置情報が欠落している状況に遭遇することがあります。この時間データを効果的に利用し、正確なタイム ゾーン変換を保証するには、時間オフセットを表す使用可能な time.Location オブジェクトを作成すると有益です。

これを実現するには、time.FixedZone 関数を利用できます。これは 2 つのパラメータを取ります:

  • 場所の名前を表す文字列 (例: UTC オフセット 11 時間の場合は「UTC 11」)。
  • 時間オフセットを秒単位で表す整数 (例: 、オフセット 11 の場合、116060

これらのパラメータを組み合わせることで、指定されたオフセットを持つ位置オブジェクトを作成できます。例:

loc := time.FixedZone("UTC+11", +11*60*60)
ログイン後にコピー

位置オブジェクトを取得したら、それを時間オブジェクトに割り当てて位置を設定できます:

t = t.In(loc)
ログイン後にコピー

これにより、time.Time オブジェクトが確実に設定されます。には、時間オフセットと指定された場所の両方があります。

より分かりやすい完全な例を次に示します。 comprehension:

package main

import (
    "fmt"
    "time"
)

func main() {
    offset := "+1100"

    // Parse the time using the original offset
    t, err := time.Parse("15:04 GMT-0700", "15:06 GMT"+offset)
    if err != nil {
        fmt.Println("Parsing failed:", err)
    }

    // Create a location object using time.FixedZone
    loc := time.FixedZone("UTC+11", +11*60*60)

    // Set the time object's location
    t = t.In(loc)

    // Output the time in different contexts
    fmt.Println("Original time:", t)
    fmt.Println("Location:", t.Location())
    fmt.Println("UTC:", t.UTC())

    // A more concise example:
    t = time.Now().In(time.FixedZone("UTC+11", +11*60*60))
    fmt.Println("Concise example:", t)
}
ログイン後にコピー

このコードは、指定された時間オフセットの UTC オフセットと位置情報を正しく記録するようになりました。この手法を活用することで、さまざまなオフセットを持つ時間データを効果的に管理し、正確なタイム ゾーンの変換と表現を保証できます。

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

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