ホームページ  >  記事  >  バックエンド開発  >  Go言語の時間処理ライブラリの利用

Go言語の時間処理ライブラリの利用

WBOY
WBOYオリジナル
2023-06-03 12:10:33679ブラウズ

ソフトウェア開発では、処理時間は繰り返し発生する問題です。特に大規模システムでは、イベントの記録、タスクのスケジュール設定、データの分析に時間は不可欠です。したがって、適切な時間処理ライブラリを使用することが非常に重要な作業になります。この記事ではGo言語の時間処理ライブラリtimeの使い方を紹介します。

時間の表現

Go 言語では、time.Time 型を使用して時間を表現できます。 Time 型の値には、年、月、日、時、分、秒、ナノ秒、およびタイム ゾーンの情報が含まれます。このタイプは組み込みであるため、使用するために追加のライブラリをインストールする必要はありません。

現在時刻の取得

現在の現地時刻を取得する方法は、time.Now() 関数を使用することです。これは、プログラム実行時の現在時刻を表す time.Time 型の時刻オブジェクトを返します。

func main() {
    current_time := time.Now()
    fmt.Println(current_time)
}

出力結果:

2021-05-17 16:34:22.7241986 +0800 CST m=+0.000731901

時刻の形式

時刻をさまざまな形式で表示することは、非常に一般的な要件です。 Go 言語では、time.Format() 関数を使用して時刻をフォーマットできます。この関数はフォーマット文字列を受け取り、このフォーマットに従って時刻オブジェクトを対応する文字列に変換します。

func main() {
    current_time := time.Now()
    formatted_time := current_time.Format("2006-01-02 15:04:05")
    fmt.Println(formatted_time)
}

出力結果:

2021-05-17 16:34:22

フォーマット文字列では、一般的に使用されるいくつかのプレースホルダーは次のとおりです。

は2桁の月に固定されています。2桁に満たない場合は0#を追加します。 ## は左側 ##02##15 時2桁24時間制固定、2桁に満たない場合は左側に0を追加 04 2 に固定 2 桁の分の場合、2 桁に満たない場合は左に 0 を追加します。05#時間操作Go言語の時間処理ライブラリにもいくつかの時間操作メソッドが用意されています。 期間を増減する
プレースホルダー 記号 means
2006 は 4 桁の年に固定されており、標準 ## を示します。
#01
# は 2 桁の日付として固定されます。2 桁に満たない場合は、0## を追加します。

time.Add()

このメソッドを使用すると、期間を追加または短縮できます:

func main() {
    current_time := time.Now()
    after_one_hour := current_time.Add(time.Hour)
    fmt.Println(after_one_hour)
}

出力結果:

2021-05-17 17:34:22.6523704 +0800 CST m=+3601.928903701

この例では、time.Hour を使用して 1 時間の長さを表し、

Add()

メソッドを使用して現在時刻を追加します。この長さまで。このメソッドの戻り値は、現在時刻から 1 時間後の時点を表す time オブジェクトです。

time.Sub() メソッドを使用して 2 つの時刻間の時差を計算することもできます: <pre class='brush:go;toolbar:false;'>func main() { start_time := time.Now() end_time := time.Now().Add(time.Hour) duration := end_time.Sub(start_time) fmt.Println(duration) }</pre>出力結果:

1h0m0s

ここ計算結果は time.Duration 型の値で、2 つの時点間の時間の長さを表します。

Set time

time.Date() メソッドを使用すると、指定された年、月、日、時、分、秒、および時刻に基づいて時刻オブジェクトを作成できます。ゾーン:

func main() {
    t := time.Date(2021, 5, 17, 15, 30, 0, 0, time.Local)
    fmt.Println(t)
}

出力結果:

2021-05-17 15:30:00 +0800 CST

時刻情報の取得

Time

型には、年、月、時刻などの時刻情報を取得するメソッドがいくつかあります。日、時、分、秒など一般的に使用されるメソッドの一部を次に示します。

func main() {
    current_time := time.Now()
    fmt.Println(current_time.Year())      // 获取年份
    fmt.Println(current_time.Month())     // 获取月份
    fmt.Println(current_time.Day())       // 获取日期
    fmt.Println(current_time.Hour())      // 获取小时数
    fmt.Println(current_time.Minute())    // 获取分钟数
    fmt.Println(current_time.Second())    // 获取秒数
    fmt.Println(current_time.Weekday())   // 获取星期几,0表示星期日
}

出力結果:

2021
May
17
16
34
22
Monday

参考ドキュメント

[Go 言語公式ドキュメント](https://golang.org) / pkg/time/)

[Golang の時刻と日付の使用](https://www.runoob.com/w3cnote/go-datetime.html)

以上がGo言語の時間処理ライブラリの利用の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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