ホームページ  >  記事  >  バックエンド開発  >  Go言語での時間処理にはどのような方法があるのでしょうか?

Go言語での時間処理にはどのような方法があるのでしょうか?

王林
王林オリジナル
2023-06-10 21:42:131495ブラウズ

Go 言語は最新のプログラミング言語であり、開発において時間は非常に重要な役割を果たします。 Go 言語には、時間処理をより便利にするための組み込みの時間関数と構造がいくつか用意されています。この記事では、Go 言語でよく使われる時間処理メソッドをいくつか紹介します。

  1. time.Now()

time.Now() 関数を使用して現在時刻を取得できます:

now := time.Now()
fmt.Println(now)

出力:

2019-06-13 14:30:10.12345 +0800 CST m=+0.000000001

出力形式は YYYY-MM-DD HH:mm:ss.nnnnnn 0800 CST m= 0.000000001 であることがわかります。ここで、YYYY は年を表します。 ##MM は月を表し、DD は日を表し、HH は時間を表し、mm は分を表し、ssは秒を表します、nnnnnn はナノ秒を表します、 0800はタイムゾーンを表します、CSTはタイムゾーン名を表します、m= 0.000000001は時間を表します相対時間、つまり 1970 年 1 月 1 日からの 0 時、分、0 秒。ニーズに合わせて所要時間情報を選択できます。

    タイムスタンプ
Unix タイムスタンプは、1970 年 1 月 1 日の 0:00:00 から現在までの秒数です。 Go 言語では、 time.Unix() 関数を使用して秒を time 型に変換したり、time 型を使用して対応するタイムスタンプを取得したりできます。

現在の時刻のタイムスタンプを取得します:

now := time.Now().Unix()
fmt.Println(now)

出力:

1560425789

タイムスタンプを時刻タイプに変換します:

timestamp := 1560425789
t := time.Unix(timestamp, 0)
fmt.Println(t)

出力:

2019-06-13 14:43:09 +0800 CST

    時刻の書式設定
Go 言語では、 time.Format() 関数を使用して時刻型を文字列型に変換できます。特定の書式設定参照文字を定義することで、必要な方法で時間を表示できます。

例:

t := time.Now()
fmt.Println(t.Format("2006-01-02 15:04:05"))

出力:

2019-06-13 14:50:11

上記のコードの「2006-01-02 15:04:05」は時刻形式の参照文字であり、具体的な意味は:

2006:年
01:月
02:日
15:小时
04:分钟
05:秒

    時間の加算と減算
Go 言語では、 time.Add() 関数を使用して時間の加算と減算を行うことができます。 Add() 関数のパラメーターは、加算または減算される時間の長さを表す、Duration タイプです。以下は、Add() 関数を使用して時間を加算および減算するサンプル コードです。

例:

t := time.Now()
fmt.Println(t.Add(10 * time.Minute))
fmt.Println(t.Add(24 * time.Hour))

出力:

2019-06-13 15:07:34.877146776 +0800 CST m=+600.000277511
2019-06-14 14:57:34.877146776 +0800 CST

    時差計算
Go 言語では、時間を使用できます。期間タイプは 2 つの期間の差を表します。以下は、Duration を使用して時差を計算するサンプル コードです。

例:

t1 := time.Date(2019, time.June, 13, 12, 00, 55, 0, time.Local)
t2 := time.Date(2019, time.June, 13, 14, 20, 30, 0, time.Local)
diff := t2.Sub(t1)
fmt.Println(diff)

出力:

2h19m35s

    タイマー
Go 言語では、時間を使用できます。タイマー タイプ Createタイマーを作成し、チャネルを使用してタイマーのトリガー イベントを取得します。以下は簡単なコード例です。

例:

func test() {
    fmt.Println("test")
}

func main() {
    timer := time.NewTimer(time.Second * 2)
    <-timer.C
    test()
}

上記のコードでは、2 秒タイマーが作成され、イベントが timer.C チャネルから読み取られ、最後に test() 関数が呼び出されます。

概要

この記事では、現在時刻の取得、タイムスタンプ、時刻の書式設定、時刻の加算と減算、時差の計算とタイマーなど、Go 言語で一般的に使用される時刻処理方法をいくつか紹介します。 。これらの時間管理方法は日々の開発において非常に重要なので、できるだけ早くマスターする必要があります。

以上がGo言語での時間処理にはどのような方法があるのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。