背景

golangは日時の形式が馴染めないので、毎回調べる行為から着手することになります。

よく使用する表示形式などを関数にしました。パースした日時を引数にすれば、求める形式で返ってきます。

わざわざ関数にしなくても良いとは思うのですが、「引数に日時」としておけば自分の中で汎用的に使用できると思うのです。

UNIXタイム

呼び出し元で使いまわせるように、int64で返却するようにしてます。

func time2unix(t time.Time) int64 {
	//UNIX時間を返す。使いやすいようにint64で
	return t.Unix()
}

RFC3339形式

あらかじめ定義されている以下の形式で返却します。

RFC3339     = "2006-01-02T15:04:05Z07:00"

こんな関数。

func time2RFC3339(t time.Time) string {
	//2022-11-08T14:00:00+09:00の形式で返す
	return t.Format(time.RFC3339)
}

参考

Goで時刻を扱うチートシート