Golang はモバイルインターネット時代の代表的なプログラミング言語であり、時間処理において独特の実装方法を持っています。この記事ではGolangにおけるtimeパッケージとその実装方法を紹介します。
time パッケージ
Golang では、time パッケージを通じて時間関連の操作を実行できます。 time パッケージは、時間を表現する 2 つの方法、時点 (Time) と継続時間 (Duration) を提供します。時点は特定の瞬間を表し、継続時間は通常ナノ秒で表される期間を表します。
time パッケージでよく使用される関数
この記事では、次のようないくつかの一般的に使用される関数を紹介します。
関数 Now は現在の現地時間を返します。
コード例:
package main import ( "fmt" "time" ) func main() { now := time.Now() fmt.Println("当前时间:", now) }
出力結果:
当前时间: 2021-08-02 16:22:48.6399933 +0800 CST m=+0.004007201
Function Sleep は、現在のプログラムは「スリープ」します。つまり、一定期間実行を一時停止し、時間が経過するのを待ってから実行を再開します。
コード例:
package main import ( "fmt" "time" ) func main() { fmt.Println("开始睡眠...") time.Sleep(2 * time.Second) fmt.Println("睡眠结束!") }
出力結果:
开始睡眠... 睡眠结束!
関数 Because は計算できますある時点から現在までの時間差。戻り値はDuration型です。
コード例:
package main import ( "fmt" "time" ) func main() { t := time.Now().Add(-30 * time.Second) fmt.Println("30秒前的时间:", t) duration := time.Since(t) fmt.Println("时间差:", duration) }
出力結果:
30秒前的时间: 2021-08-02 16:28:42.440203 +0800 CST m=-30.004781101 时间差: 30.0072892s
package main import ( "fmt" "time" ) func main() { str := "2021-08-02 16:40:32" layout := "2006-01-02 15:04:05" t, _ := time.Parse(layout, str) fmt.Println("解析结果:", t) }
解析结果: 2021-08-02 16:40:32 +0000 UTC
package main import ( "fmt" "time" ) func main() { t := time.Now() fmt.Println("当前时间:", t) layout := "2006年01月02日 15:04:05" fmt.Println("格式化后的时间:", t.Format(layout)) }
当前时间: 2021-08-02 16:31:32.5976906 +0800 CST m=+0.013279501 格式化后的时间: 2021年08月02日 16:31:32
以上がGolangでのtimeパッケージの使い方を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。