タイムスタンプはコンピュータが時間を処理する方法で、通常はある時点から別の時点までの秒数を表す整数を使用します (通常は 1970 年 1 月 1 日 00:00:00 UTC)。 Go 言語ではタイムスタンプの変換が非常に簡単なので、この記事では関連する方法とテクニックをいくつか紹介します。
time.Unix() 関数は 2 つのパラメータを受け入れます。1 つは Unix タイムスタンプですもう 1 つはナノ秒のオフセットです。対応する Time 型の値を返します。例:
package main import ( "fmt" "time" ) func main() { unixTimestamp := int64(1609459200) t := time.Unix(unixTimestamp, 0) fmt.Println(t) }
上記のコードは、タイムスタンプ 1609459200
を対応する時間値 2021-01-01 00:00:00 0000 UTC
に変換します。 2 番目のパラメータはナノ秒のオフセットです。必要ない場合は 0 を渡すことができます。
time.UnixNano() 関数は Unix タイムスタンプを受け取り、対応するナノ秒数値を返します。例:
package main import ( "fmt" "time" ) func main() { unixTimestamp := int64(1609459200) nano := time.UnixNano(unixTimestamp) fmt.Println(nano) }
上記のコードは、タイムスタンプ 1609459200
を対応するナノ秒数 1609459200000000000
に変換します。
time.Since() メソッドは、時間値を受け取り、現在の値を返します。 time とこの時間値の間の期間。したがって、タイムスタンプを時間値に変換し、time.Since() メソッドを使用して対応する期間を計算できます。例:
package main import ( "fmt" "time" ) func main() { unixTimestamp := int64(1609459200) t := time.Unix(unixTimestamp, 0) duration := time.Since(t) fmt.Println(duration) }
上記のコードは、タイムスタンプ 1609459200
を対応する時間値に変換し、現在時刻 73.141589ms
を使用してその継続時間を計算します。
time.Now().Unix() メソッドを使用できます。 ) 現在のタイムスタンプを取得するメソッド。時刻のタイムスタンプ。int64 型の値を返します。例:
package main import ( "fmt" "time" ) func main() { unixTimestamp := time.Now().Unix() fmt.Println(unixTimestamp) }
上記のコードは、現在時刻のタイムスタンプを取得して出力します。タイムスタンプ出力が現在時刻の整数値であることがわかります。
time.Parse() メソッドは 2 つのパラメータを受け入れます。1 つは時刻形式です。もう 1 つは、変換する必要がある時刻文字列です。対応する Time 型の値を返します。例:
package main import ( "fmt" "time" ) func main() { layout := "2006-01-02 15:04:05" str := "2021-01-01 00:00:00" t, err := time.Parse(layout, str) if err != nil { fmt.Println(err) return } fmt.Println(t) }
上記のコードは、文字列 "2021-01-01 00:00:00"
を対応する時刻値: 2021-01-01 00: 00:00 0000 UTC
。このうち、layout
パラメータは時間形式の文字列であり、指定された時間シーケンス Mon Jan 2 15:04:05 MST 2006
を使用して時間の各部分を表す必要があります。これは、パケットの送信時間がこのシーケンスを採用しており、その初期時間がまさに Unix タイムスタンプ 0
に対応する時間であるためです。
概要
この記事では、Go 言語でタイムスタンプを時間値、ナノ秒、期間などに変換する方法とテクニックを紹介します。これらのメソッドは、Go 言語で時間を扱う必要がある場合に非常に役立ちます。もちろん、特定のアプリケーション シナリオに応じて、タイムスタンプの変換と処理にこれらの方法を 1 つ以上選択できます。
以上がgolangはタイムスタンプを変換しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。