April 2022
Beginner to intermediate
464 pages
6h 44m
Japanese
Goではtime.Timeで日時とタイムゾーンを扱います。プログラミング言語によっては、Time、Date、DateTimeが別々に提供されているものもありますが、Goは1つの型ですべて扱います。
time.Now()関数でシステムが持っているロケールの現在時刻を取得します。time.Date()関数で指定日時のインスタンスが取得できます。
// 現在時刻のtime.Timeインスタンス取得
now := time.Now()
// 指定日時のtime.Timeインスタンス取得
tz, _ := time.LoadLocation("America/Los_Angeles")
future := time.Date(2015, time.October, 21, 7, 28, 0, 0, tz)
fmt.Println(now.String())
fmt.Println(future.Format(time.RFC3339Nano))
time.LoadLocation()を使ってタイムゾーンをタイムゾーンデータベースから取得できますし、time.Local、time.UTCでローカルのタイムゾーンやUTCのインスタンスを参照できます。time.FixedZone()を使って、好きな時差のタイムゾーンを作成できます。
// 定義済みのローカルタイムゾーン
now := time.Date(1985, time.October, 26, 9, 0, 0, 0, time.Local)
// 定義済みのUTCタイムゾーン
past := time.Date(1955, time.November ...Read now
Unlock full access