ホームページ > バックエンド開発 > Golang > Unix タイムスタンプを Go の time.Time オブジェクトに正しく変換するにはどうすればよいですか?

Unix タイムスタンプを Go の time.Time オブジェクトに正しく変換するにはどうすればよいですか?

DDD
リリース: 2024-12-17 05:48:25
オリジナル
894 人が閲覧しました

How to Correctly Convert a Unix Timestamp to a Go time.Time Object?

Unix タイムスタンプから Time.Time への変換 - 範囲外エラーへの対処

time.Parse() を使用して Unix タイムスタンプを解析する場合、次のことが可能です。日付と時刻の形式が正しい場合でも、「範囲外」エラーが発生します。これは、time.Parse() が Unix タイムスタンプの解析を目的としていないためです。

これを解決するには、次の手順を実行します。

  1. Unix タイムスタンプを int64 として解析します。 : strconv.ParseInt() を使用してタイムスタンプ文字列を基数の整数に変換します10 (またはその他の任意の基数)。
  2. int64 を time.Time に変換します。 time.Unix(i, 0) を使用して time.Time オブジェクトを作成します。ここで、'i ' は、ステップ 1 で解析された int64 です。これにより、Unix に対応する正しい日付と時刻を持つ Time オブジェクトが生成されます。 timestamp.

例を示します:

package main

import (
    "fmt"
    "time"
    "strconv"
)

func main() {
    i, err := strconv.ParseInt("1405544146", 10, 64)
    if err != nil {
        panic(err)
    }
    tm := time.Unix(i, 0)
    fmt.Println(tm)
}
ログイン後にコピー

出力:

2014-07-16 20:55:46 +0000 UTC
ログイン後にコピー

このメソッドは、Unix タイムスタンプが正しく解析され、time.Time に変換されることを保証します。オブジェクトを回避し、範囲外エラーを回避します。

以上がUnix タイムスタンプを Go の time.Time オブジェクトに正しく変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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