Go言語 – 14.日時に関する処理

日時に関する処理

日付を扱うには次のパッケージをインポートする必要があります。

import “time”

現在日時の取得

これで、日付が取得できます。
年月日時分秒は次の指定で取得できます。

年:tm.Year()
月:tm.Month()
日:tm.Day()
時:tm.Hour()
分:tm.Minute()
秒:tm.Second()

日付を扱う場合、好きなフォーマットで表示させたいものです。
ここで初めて、このフォーマットを見ると??になると思います。
通常 YMDでしているするのですが、Go言語では実際の数値を用いてフォーマットをかけます。
何が言いたいかというと。

「年」を表す時は、”2006″
「月」を表す時は、”01″
と、記載します。。

このフォーマットは次のサイトにパッケージ化されています。

URL:https://golang.org/src/time/format.go

下記にサンプルを書きます。

日付の計算

日付でよく行うことが、日付の計算です。
足し算、引き算は次のように記載します。
計算方法は、1秒加算、1時間加算という形で記載ます。

具体的に書きますと

1秒加算の場合

となります。
意味は次の通りです。

time.Durationはナノ秒を表します。
それに対して、time.Secondを掛けてやる事で、秒を表すことができます。
つまり、
time.Duration(1):1ナノ秒 × time.Second:秒 = 1秒
となります。

時間の場合は、× time.Hour
日付の場合は、× (24 * time.Hour) 残念ながら time.Dayは無いようです。

足し算、引き算は次の通りです。

足し算:.Add
引き算:.Add に 負の値を設定すればできます。

日付の差分

次に、よく使うのが日付同士の差でしょう。
差を求めるには次の方法で求めます。

これで、差分が求められます。

以上が、日付処理の基本です。