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
あとはこれを元に新規にカラムを作って、保存させました。