Goでの日付変換
最近やっとのことGoを真面目にやりだしてTwitterのAPIで取得したtweet.CreatedAtの日時文字列をISO8601形式の文字列にしたいなと思ったけど、time.parse
のformatの指定とかが独特で少しハマった。
Rubyとかだと%Y/%m/%d
とかでformat指定するけど、Goだと2006-01-02
みたいな具体的な年月日などの数字を指定する必要がある。
初めなんでサンプルとかこんな中途半端な日時なんだろう?と思い実装した日に変えたろって変えたら0001/01/01 00:00:00 +0000 UTC
みたいになってしまった。
調べてみると下記のように
GoのtimeのFormat表記方法でハマったこと - emahiro/b.log
結論としては goでのtimeのformat変換では使える文字が決まっている っていうことになります。
と、ありあの日時が固定らしいと分かりなんじゃそりゃ!っという感じ。
なんか特別な意味でもあるのかと思ったけど、下記を見てただふーーーん...というお気持ちになっただけなのでした。
Goのtimeパッケージのリファレンスタイム(2006年1月2日)は何の日? - Qiita