<iframe src="//www.googletagmanager.com/ns.html?id=GTM-W8GZ33F&l=dataLayer" height="0" width="0" style="display:none;visibility:hidden"></iframe>

ローカルタイムと指定した時刻を扱う方法(time.Now)

Golang
たま

pv:

time.Now()

何も指定していない場合システムの時刻が返ります(私の場合は日本時刻が返ってきています

import (
	"fmt"
	"time"
)
t1 := time.Now()
fmt.Println(t1)
// => 2019-10-16 21:52:41.994421 +0900 JST m=+0.000315501

UTCの時刻を取得したい場合

t2 := t1.UTC()
fmt.Println(t2)
// => 2019-10-16 13:16:49.428464 +0000 UTC

自分で任意の国の時間にしたい場合

time.FixedZone("タイムゾーンに付ける名前", UTCとの差分の秒数)

pt := time.FixedZone("PT", -8*60*60)
fmt.Println(time.Now().In(pt))
// => 2019-10-16 05:32:34.011723 -0800 PT

コピペ実行用

package main

import (
	"fmt"
	"time"
)

//--------------------------------------------------------
// ローカルタイムと指定した時刻を扱う方法(Time.now)
//--------------------------------------------------------
func main() {
	// time.Now()
	// 何も指定していない場合システムの時刻が返ります(私の場合は日本時刻が返ってきています
	t1 := time.Now()
	fmt.Println(t1)
	// => 2019-10-16 21:52:41.994421 +0900 JST m=+0.000315501

	// UTCの時刻を取得したい場合
	t2 := t1.UTC()
	fmt.Println(t2)
	// => 2019-10-16 13:16:49.428464 +0000 UTC

	// 自分で任意の国の時間にしたい場合
	// time.FixedZone("タイムゾーンに付ける名前", UTCとの差分の秒数)
	pt := time.FixedZone("PT", -8*60*60)
	fmt.Println(time.Now().In(pt))
	// => 2019-10-16 05:32:34.011723 -0800 PT
}

この記事を書いた人

たま

エンジニア天国の会社を作るべく動く。rubyとgolangが主な担当。フリーランスエンジニア歴3年。エンジニア歴8年。

たまの書いた記事一覧

関連記事