Golang は、厳密に型指定されたプログラミング言語であり、ネットワーク サービスや同時実行性の高いアプリケーションの作成に特に適しています。アプリケーションを作成するときは、タイムスタンプなどの時間関連データを処理する必要があることがよくあります。 Golang は、タイムスタンプを時刻形式に変換できる時刻変換関数を提供します。
1. タイムスタンプ
タイムスタンプは、西暦 1970 年 1 月 1 日 (UTC) の 0:00:00 から現在時刻までのミリ秒または秒数を指します。この時間表現方法は、比較的固定性があり世界標準であるため、広く使用されています。
Golang では、タイムスタンプは 2 つのタイプに分類できます。1 つは Unix タイムスタンプ、もう 1 つは UnixNano タイムスタンプです。
Unix タイムスタンプは、1970 年 1 月 1 日の 0:00:00 (UTC) から経過した秒数を指します。 Golang では、time.Unix 関数を使用して Unix タイムスタンプを時刻形式に変換できます。
UnixNano タイムスタンプは、1970 年 1 月 1 日の 0:00:00 (UTC) から経過したナノ秒数を指します。 Golang では、time.UnixNano 関数を使用して UnixNano タイムスタンプを時刻形式に変換できます。
2. 時刻変換
Golang では、time パッケージが提供する関数を使用して、タイムスタンプを時刻形式に変換できます。一般的に使用される関数は次のとおりです。
time.Unix 関数は、Unix タイムスタンプを時刻形式に変換できます。そのパラメータ t は秒単位の Unix タイムスタンプで、パラメータ nano はナノ秒の部分です。
使用例:
package main import ( "fmt" "time" ) func main() { timestamp := int64(1635593048) // Unix时间戳 t := time.Unix(timestamp, 0) fmt.Println(t) }
出力結果:
2021-10-30 22:30:48 +0800 CST
time.UnixNano関数でUnixNanoのタイムスタンプを変換できます。時刻形式に変換します。そのパラメータ t は、ナノ秒単位の UnixNano タイムスタンプです。
使用例:
package main import ( "fmt" "time" ) func main() { timestamp := int64(1635593048644816891) // UnixNano时间戳 t := time.Unix(0, timestamp) fmt.Println(t) }
出力結果:
2021-10-30 22:30:48.644816891 +0800 CST
time.Parse関数は時刻を変換できます。文字列を時刻形式に解析します。そのパラメータのレイアウトは時間文字列の形式です。パラメータ値は時間文字列です。
使用例:
package main import ( "fmt" "time" ) func main() { t, _ := time.Parse("2006-01-02 15:04:05", "2021-10-30 22:30:48") fmt.Println(t.Unix()) }
出力結果:
1635593048
time.Format 関数は時間を Time にフォーマットできます弦。そのパラメータのレイアウトは時間文字列の形式です。
使用例:
package main import ( "fmt" "time" ) func main() { t := time.Now() fmt.Println(t.Format("2006-01-02 15:04:05")) }
出力結果:
2021-11-03 11:22:33
3. まとめ
タイムスタンプは一般的に使用される時間表現方法であり、絶対時間を表現できます。 Golang は、タイムスタンプを時刻形式に変換し、時刻の計算、比較、書式設定などの操作を実行できる豊富な時刻処理関数を提供します。実際のアプリケーションでは、開発者はニーズに応じて時間処理機能を柔軟に利用することができ、開発効率を向上させることができます。
以上がgolangでタイムスタンプを時刻形式に変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。