Go でタイムゾーンを使用して時刻文字列を正しく解析するにはどうすればよいですか?

DDD
リリース: 2024-11-23 05:43:16
オリジナル
322 人が閲覧しました

How to Correctly Parse Time Strings in Go with Time Zones?

Go での time.Parse の動作を理解する

Go では、time.Parse メソッドを使用して文字列を time.Time 値に変換します。ただし、タイムゾーン変換に関する問題が発生し、予期しない結果が生じる可能性があります。

これらの問題を解決するには、正しい形式文字列を定義することが重要です。 time.Parse によって返されたエラーは、変換プロセスについての洞察を得るために処理する必要があります。

修正された書式文字列

コード例で指定された書式文字列「2013」 -05-13 18:41:34.848 -0700 PDT」は正しくありません。 Go 時間の書式設定構文に従うには、正しい形式は次のとおりである必要があります。

const longForm = "2006-01-02 15:04:05 -0700"
ログイン後にコピー

エラー処理を含むサンプル コード

time.Parse によって返されたエラーを処理することによって、あらゆるコンバージョンを識別できます問題:

package main

import (
    "fmt"
    "log"
    "time"
)

func main() {
    const longForm = "2006-01-02 15:04:05 -0700"
    t, err := time.Parse(longForm, "2013-05-13 18:41:34.848 -0700")
    if err != nil {
        log.Fatal(err)
    }
    fmt.Println(t)
}
ログイン後にコピー

出力

修正されたフォーマット文字列と適切なエラー処理により、出力は次のようになります:

2013-05-13 01:41:34.848 +0000 UTC
ログイン後にコピー

この出力形式文字列で指定されたタイムゾーンを考慮して、UTC 時間を正確に反映します。 time.Parse の動作を理解し、適切な構文に従うことで、開発者は Go で文字列を時間値に効果的に変換できます。

以上がGo でタイムゾーンを使用して時刻文字列を正しく解析するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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