Go言語と日付操作: 知っておきたい便利な使い方とテクニックについて解説

Go

はじめに

この記事では、Go言語での日付操作の基本から、より詳細な操作方法について解説します。日付はソフトウェア開発において頻繁に取り扱われるデータ型であり、Go言語でも様々な操作が可能となっています。

[Go言語]今日の日付を取得する

[Go言語]stringとTimeの変換
string→time.Time yyyy-mm-dd HH:mm:ss 形式の文字列を変換する場合は下記のようにします target="2022-11-11 11:00:00" time.Parse("2006-01-02 15:04:0...

Go言語における日付と時間の取り扱い

Go言語ではtimeパッケージを通じて日付と時間の操作が可能です。最も基本的な操作は現在時刻の取得で、以下のコードで取得できます。

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

このコードを実行すると現在時刻が表示されます。

時間のフォーマット

取得した時間を特定の形式にフォーマットするには、Formatメソッドを使用します。Goでは特定のレイアウトを定義して時間をフォーマットします。

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

このコードは現在時刻を年-月-日 時:分:秒の形式で表示します。

時間の加算と減算

時間を加算または減算するには、AddメソッドまたはAddDateメソッドを使用します。以下のコードは現在時刻に1日を加算します。

now := time.Now()
tomorrow := now.Add(24 * time.Hour)
fmt.Println(tomorrow)

このコードを実行すると、現在時刻から24時間後の時刻が表示されます。

時間の比較

2つの時間を比較するには、BeforeAfterEqualメソッドを使用します。これらのメソッドは時間を比較し、それぞれ時間が前であるか、後であるか、等しいかをブール値で返します。

now := time.Now()
past := now.Add(-1 * time.Hour)

fmt.Println(now.After(past))  // true
fmt.Println(now.Before(past)) // false
fmt.Println(now.Equal(past))  // false

まとめ

以上がGo言語における基本的な日付操作についての説明です。詳細な操作やより高度なテクニックについては、公式のtimeパッケージドキュメンテーションを参照してください。日付操作は頻繁に使用されるスキルなので、ぜひ理解しておくことをお勧めします。