本当にただのメモ

なるべく Qiita に投稿しよう

time.Now() はローカルの Location を自動でセットする

なぜか自分は、UTC がセットされると思い込んでた。。

下記のコードは日本時間の 05:30:33 に実行したもの。

package main

import (
    "fmt"
    "time"
)

func main() {
    format := "20060102T150405Z"

    // デフォルトではローカルの Location が使用される
    fmt.Println(
        time.Now().Format(format),
    )
    //=> 20180127T053033Z

    // UTC にしたい場合は .In(time.UTC) を使う
    fmt.Println(
        time.Now().In(time.UTC).Format(format),
    )
    //=> 20180126T203033Z
}