Go で時刻を文字列にフォーマットしたくなりました。結論から言うと、time.Time 型の Format 関数の引数に、「2006年1月2日午前3時4分5秒」を、どう表現したいのかを指定します。
t := time.Time.Now() var x := t.Format("01/02 15:04")
とすると、現在時刻をこの書式で文字列になります。
最初、t.Format("%y") とか %Y とかしても、そのまま %y とか表示されてしまい、困惑していました。ドキュメントを、一瞥したら
The layout defines the format by showing the representation of the standard time,
Mon Jan 2 15:04:05 -0700 MST 2006which is then used to describe the time to be formatted.
と書いてあって「だから年や月のフォーマットはどうやって指定するんだよ」と思ったわけです。
ソースをしばらく眺めていて、あーそういうことであったか、と、やっと分かりました。Parse() 関数も同じ方法で文字列から時刻に変換します。
時刻文字列の書式をこんな方法で指定するのは初めて知りました。知らなかっただけで、実はメジャーなのかも知れません。
明日の自分へ: ドキュメントを読めと、あれほど。