time.LoadLocation()
それぞれのタイムゾーン情報は、以下のようにして取得できる。
package main
import (
"fmt"
"time"
)
func main() {
utc, _ := time.LoadLocation("UTC")
fmt.Println(utc.String())
fmt.Println(time.Now().In(utc))
jst, _ := time.LoadLocation("Asia/Tokyo")
fmt.Println(jst.String())
fmt.Println(time.Now().In(jst))
}
$ go run main.go
UTC
2017-01-07 07:07:11.411502827 +0000 UTC
Asia/Tokyo
2017-01-07 16:07:11.411913577 +0900 JST
ローカルタイムゾーン
サーバーのローカルタイムゾーン情報は、
以下のように明示的にタイムゾーン名を指定せずに、"Local"
を引数とすると取得できる。
package main
import (
"fmt"
"time"
)
func main() {
local, _ := time.LoadLocation("Local")
fmt.Println(local.String())
}
$ go run main.go
Local
ちなみに、以下のように空文字列を引数とすると、UTC
が返ってくる。
package main
import (
"fmt"
"time"
)
func main() {
utc, _ := time.LoadLocation("")
fmt.Println(utc.String())
}
$ go run main.go
UTC
なお、LoadLocation()
を使わずに、
- サーバーのタイムゾーン
UTC
には直接アクセスすることも出来る。
package main
import (
"fmt"
"time"
)
func main() {
utc := time.UTC
fmt.Println(utc.String())
local := time.Local
fmt.Println(local.String())
}
$ go run main.go
UTC
Local