はじめに
Goのtimeパッケージ内にあるParseメソッドを使って、文字列→時刻に変換する時に、文字列の体裁の指定が求められる。
Go言語では決められた数字を任意の記法で書くことで、体裁を定義することができる。
例
format := "2006-01-02 15:04:05"
t, err := time.Parse(format, "2017-04-30 23:36:00")
体裁に用いられる時刻は公式で定められており、一寸でも違うと正常に変換できない。なので、公式が定めているフォーマット用の時刻と、その記述例を自分なりにわかりやすく備忘録。
雛形と記述例
項目 | 雛形 | 記述例 |
---|---|---|
年 | 2006年 | 2006 |
月 | 1月 | 01, Jan |
日 | 2日 | 02, 2 |
曜日 | 月曜日 | Mon |
時 | 15時 | 15 |
分 | 4分 | 04 |
秒 | 5秒 | 05 |
ミリ秒 | 000 | 000 |
時差 | -7:00 | -0700, -07:00 |
例
format0 := "2006-01-02T15:04:05.000 -07:00"
format1 := "Jan 2 150405-0700"
この仕様のメリットは、ソースコードを確認した時に時刻のフォーマットが直感的に分かりやすいところ。最初の数字を覚えるのが面倒くさい。