golang【変換】文字列をtimeに変換(時刻操作基本)

Go言語

golangの時刻の扱いは他の言語に比べて癖があるので基本を備忘としてメモ

	//現在UTC時刻取得
	day := time.Now().UTC()
	//UTC時刻フォーマットあり
	fmt.Printf("%s\n", day.Format("2006-01-02 15:04:05"))
	//※フォーマットでは使える文字が決まっているので注意 適当な文字では処理されない https://pkg.go.dev/time#pkg-constants
	//UTC時刻フォーマットなし
	fmt.Printf("%s\n", day)

	//現在ローカル時刻取得
	day = time.Now().Local()
	//ローカル時刻フォーマットあり
	fmt.Printf("%s\n", day.Format("2006-01-02 15:04:05"))
	//※フォーマットでは使える文字が決まっているので注意 適当な文字では処理されない https://pkg.go.dev/time#pkg-constants
	//ローカル時刻フォーマットなし
	fmt.Printf("%s\n", day)

	//時刻型を文字列に変換する
	var strTempDate string
	strTempDate = day.Format("2006-01-02 15:04:05")
	fmt.Printf("%s\n", strTempDate)

	//文字列(strTempDate)を時刻型に変換する
	var timeTempDate time.Time
	timeTempDate, _ = time.Parse("2006-01-02 15:04:05", strTempDate)
	fmt.Printf("%s\n", timeTempDate)
	fmt.Printf("%s\n", timeTempDate.Local())
	//出力例
	// 2022-01-09 07:37:20
	// 2022-01-09 07:37:20.1249254 +0000 UTC
	// 2022-01-09 16:37:21
	// 2022-01-09 16:37:21.1224927 +0900 JST
	// 2022-01-09 16:37:21
	// 2022-01-09 16:37:21 +0000 UTC
	// 2022-01-10 01:37:21 +0900 JST
タイトルとURLをコピーしました