前回は現在時刻を扱いました。
今回は任意の日付を指定して、日付を扱いたいと思います。
日付指定
現在時刻ではなく、日時を指定して日付を扱いたい場合があります。
Dateメソッドを使用します。
package main
import (
"fmt"
"time"
)
func main() {
utc := time.Date(2009, time.November, 10, 23, 0, 0, 0, time.UTC)
fmt.Println(utc) // 2009-11-10 23:00:00 +0000 UTC
}
Dateメソッドの引数は 年、月、日、時、分、秒、ナノ秒、ロケーション を指定します。
年、日、時、分、秒 は数値(int)を指定します。
月はtimeの定数を指定します。例えば4月なら time.April。
ロケーションは、先ほどロケーションで指定した通りです。
以下は、4月でロケーションに東京を指定した場合になります。
package main
import (
"fmt"
"time"
)
func main() {
jstLoc, err := time.LoadLocation("Asia/Tokyo")
if err != nil {
panic(err)
}
j := time.Date(2009, time.April, 10, 23, 0, 0, 0, jstLoc) // 2009-04-10 23:00:00 +0900 JST
fmt.Println(j)
}