はじめに
しょっちゅう「あれ?Golangで日付を文字列に変換する時のフォーマットってどんなんだっけ?」となって毎回調べているので、個人的によく使うやつを自分用のメモとして残しておきます。
フォーマットの詳しい指定方法については以下の記事がわかりやすくまとまっています。
本記事では細かい解説はしません。
よく使うフォーマット
年月日時分秒の指定方法さえ覚えておけば大体なんとかなると思います。
日時形式 | フォーマット |
---|---|
yyyy-mm-dd | 2006-01-02 |
yyyy-m-d | 2006-1-2 |
HH:MM:SS | 03:04:05 |
H:M:S | 3:4:5 |
yyyy-mm-dd HH:MM:SS | 2006-01-02 03:04:05 |
サンプルコード
package main
import (
"time"
)
func main() {
t := time.Date(2019, time.February, 9, 8, 7, 4, 0, time.UTC)
// => 2019-02-09 08:07:04 +0000 UTC
/*
* 日付
*/
// yyyy-mm-dd
t.Format("2006-01-02") // => "2019-02-09"
// yyyy-m-d
t.Format("2006-1-2") // => "2019-2-9"
/*
* 時間
*/
// HH:MM:SS
t.Format("03:04:05") // => "08:07:04"
// H:M:S
t.Format("3:4:5") // => "8:7:4"
/*
* 日付 + 時間
*/
// yyyy-mm-dd HH:MM:SS
t.Format("2006-01-02 03:04:05") // => "2019-02-09 08:07:04"
}
おわりに
改めてちゃんと調べてみて気づきましたが、月日時分秒の順番で12345になってるんですね。
そう考えると簡単に覚えられるな。。。まとめた意味なかったかも。。。