これで正しいのか、あんまり自信ない。
コード
getlastdayofmonth.go
package main
import (
"fmt"
"time"
)
func main() {
loc, _ := time.LoadLocation("Asia/Tokyo")
t := time.Date(2014, time.March, 1, 0, 0, 0, 0, loc).AddDate(0, 0, -1)
fmt.Println(t)
fmt.Println(t.Day())
}
上記では、2014 年 3 月の月初から 1 日分を引き算している。
timeDate()
内の loc 部分の指定は別に time.UTC でも問題ない…と思う。
出力
2014-02-28 00:00:00 +0900 JST
28
Go Playground は ここ
参考
- time - The Go Programming Language
- src/pkg/time/example_test.go - The Go Programming Language
-
src/pkg/time/zoneinfo_abbrs_windows.go - The Go Programming Language
- ここにタイムゾーンらしき記載があるのだが、「JST」の使い方が分からなかった…