APIから持ってきた日付データが文字列型だったときの解決策

楽天BooksAPIからは本の発売日を文字列として抽出することができます。
しかし実際に扱うとなると文字列だと使い勝手が悪かったので、あくまで自分のアプリを作成する上での解決策を記しておきます。

結論から言うと、正規表現で弄って、int型にするだけ。
頑張って日付型としてすることも恐らくできると思いますが、自分は日付の昇順を作りたかっただけだったので、int型にしました。

APIから貰える日付データは
20XX年MM月DD日
のような形なので、まず”年”、”月”、”日”という文字を消す。

最近勉強した正規表現を使って

date = "2019年10月05日"
date.gsub(/||/,"")

とすれば、上の3つの漢字は消える。

例)"2019年10月05日" → "20191005"となります。

しかしこのままではまだ文字列なので整数に直します。
to_iというメソッドを使うことで文字列を整数にすることが可能です。

date.gsub(/||/,"").to_i

例) "20191005" → 20191005

あとはこれを元に新規にカラムを作って、保存させました。