はじめに
この記事では、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つの時間を比較するには、Before
、After
、Equal
メソッドを使用します。これらのメソッドは時間を比較し、それぞれ時間が前であるか、後であるか、等しいかをブール値で返します。
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パッケージドキュメンテーションを参照してください。日付操作は頻繁に使用されるスキルなので、ぜひ理解しておくことをお勧めします。