ホームページ > バックエンド開発 > Golang > Golangでのtimeパッケージの使い方を詳しく解説

Golangでのtimeパッケージの使い方を詳しく解説

PHPz
リリース: 2023-04-14 09:47:08
オリジナル
939 人が閲覧しました

Golang はモバイルインターネット時代の代表的なプログラミング言語であり、時間処理において独特の実装方法を持っています。この記事ではGolangにおけるtimeパッケージとその実装方法を紹介します。

time パッケージ

Golang では、time パッケージを通じて時間関連の操作を実行できます。 time パッケージは、時間を表現する 2 つの方法、時点 (Time) と継続時間 (Duration) を提供します。時点は特定の瞬間を表し、継続時間は通常ナノ秒で表される期間を表します。

time パッケージでよく使用される関数

この記事では、次のようないくつかの一般的に使用される関数を紹介します。

  1. func Now() 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
ログイン後にコピー
  1. func Sleep(d Duration)

Function Sleep は、現在のプログラムは「スリープ」します。つまり、一定期間実行を一時停止し、時間が経過するのを待ってから実行を再開します。

コード例:

package main
import (
    "fmt"
    "time"
)

func main() {
    fmt.Println("开始睡眠...")
    time.Sleep(2 * time.Second)
    fmt.Println("睡眠结束!")
}
ログイン後にコピー

出力結果:

开始睡眠...
睡眠结束!
ログイン後にコピー
  1. func Because(t Time) Duration

関数 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
ログイン後にコピー
  1. func Parse(layout, value string) (Time, error)
# #Function Parse は、文字列を時刻型に変換できます。パラメータ レイアウトは、入力時刻文字列の形式を指定するために使用される時刻形式文字列です。パラメータ値は、解析される文字列です。

コード例:

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
ログイン後にコピー
    func Format(t Time, Layout string) string
Function Formatは、時間 t の出力をフォーマットする関数です。ここで、layout はフォーマット文字列です。

コード例:

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 の時間パッケージは、開発者に時間処理のサポートを提供します。この記事では、一般的に使用されるいくつかの関数を簡単に紹介します。これは、誰もが時間パッケージの使用方法をよりよく理解するのに役立ちます。時間パッケージに慣れることで、時間関連のビジネス ロジックをより適切に処理できるようになります。

以上がGolangでのtimeパッケージの使い方を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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