ホームページ  >  記事  >  バックエンド開発  >  Go で時刻と日付を使用するにはどうすればよいですか?

Go で時刻と日付を使用するにはどうすればよいですか?

王林
王林オリジナル
2023-05-10 17:55:531956ブラウズ

Go は、多くの便利な組み込みライブラリを備えた高速プログラミング言語です。実際の開発作業では日時の処理が重要です。 Go は強力な時刻と日付の処理関数を提供し、開発者が時刻と日付を簡単に計算して処理できるようにします。この記事では、Go での時刻と日付の使い方を紹介します。

時刻と日付の基本

Go では、時刻と日付は time.Time 型の変数で表されます。このタイプには、年、月、日、時、分、秒、タイムゾーンなどの情報が含まれます。これを作成する通常の方法は、 time.Now() 関数を呼び出すことです。この関数は、現在の時刻の time.Time 型変数を返します。

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

時刻と日付の書式設定された出力

Go では、形式文字列を通じて time.Time 型変数の出力形式を制御できます。例:

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

このうち、2006、01、02、15、04、05は特別な数字で、それぞれ年、月、日、時、分、秒を表します。これは、Go 言語の創始者 Ken Thompson が time ライブラリを設計した際に、これにより時刻の書式設定によって引き起こされるエラーが減ると考えて決定したものです。

これらの特別な数値に加えて、書式指定文字列にはスペース、ハイフン、コロンなどの他の文字を含めることもできます。

時刻と日付の加算と減算の計算

Go では、Add() 関数と Sub() 関数を使用して時刻と日付の加算と減算を行うことができます。

t1 := time.Now()
t2 := t1.Add(1 * time.Hour)
t3 := t1.AddDate(1, 0, 0)    // 将t1加1年
t4 := t1.Sub(t2)
fmt.Println(t1)
fmt.Println(t2)
fmt.Println(t3)
fmt.Println(t4)

上記のコードでは、t2 は t1 に 1 時間を加えた後の時間を表し、t3 は t1 に 1 年を加えた後の時間を表し、t4 は t2 と t1 の時間差を表します。

時刻と日付の比較

Go では、Before()、Equal()、After() 関数を使用して、2 つの時刻と日付の順序を比較できます。

t1 := time.Now()
t2 := t1.Add(1 * time.Hour)
fmt.Println(t1.Before(t2))
fmt.Println(t1.Equal(t2))
fmt.Println(t1.After(t2))

上記のコードでは、Before() 関数は t1 が t2 より前であることを示すために true を返し、Equal() 関数は t1 と t2 が等しいことを示すために true を返し、After() 関数は次のことを返します。 t1 が t2 の後であることを示す場合は true。

Unix タイムスタンプ

コンピュータ サイエンスでは、Unix タイムスタンプ (unix タイムスタンプ) は、1970 年 1 月 1 日の 00:00:00 から現在時刻までのすべての秒を指します。今から数秒。 Go では、Unix() 関数を使用して、time.Time 型の変数を int64 型の Unix タイムスタンプに変換できます。

t := time.Now()
unixTime := t.Unix()
fmt.Println(unixTime)

Unix() 関数に加えて、Go は UnixNano() 関数も提供します。この関数は、1970 年 1 月 1 日の 00:00:00 から現在時刻までの時間をすべてナノ秒に変換できます。

概要

時刻と日付の処理は非常に重要で、Go では組み込みの時刻ライブラリを使用して時刻と日付を簡単に計算して処理できます。この記事では、時刻と日付の書式設定された出力、加算と減算の計算、比較、Unix タイムスタンプなど、Go での時刻と日付の使用の基本を紹介します。開発者はこれらの機能を自社のニーズに合わせて柔軟に利用することができ、開発効率を向上させることができます。

以上がGo で時刻と日付を使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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