日付のstringに対して Date.paras する
Ruby では require が必要
require 'date'
成功ケース
8桁の数字でも ハイフン区切りでも スラッシュ区切りでも
なんとドット区切りもできた
[21] pry(main)> Date.parse('20200229')
=> #<Date: 2020-02-29 ((2458909j,0s,0n),+0s,2299161j)>
[34] pry(main)> Date.parse('2020.02.29')
=> #<Date: 2020-02-29 ((2458909j,0s,0n),+0s,2299161j)>
[35] pry(main)> Date.parse('2020/02/29')
=> #<Date: 2020-02-29 ((2458909j,0s,0n),+0s,2299161j)>
[36] pry(main)> Date.parse('2020-02-29')
=> #<Date: 2020-02-29 ((2458909j,0s,0n),+0s,2299161j)>
失敗ケース
不正なフォーマットや存在しない日付では例外を起こしてくれる
[23] pry(main)> Date.parse('2021-02-29')
ArgumentError: invalid date
[39] pry(main)> Date.parse('Wow')
ArgumentError: invalid date
謎ケース
7桁でもparseできる場合があるが、日付が妙だ
[28] pry(main)> Date.parse('2020229')
=> #<Date: 2020-08-16 ((2459078j,0s,0n),+0s,2299161j)>
Original by Github issue
チャットメンバー募集
何か質問、悩み事、相談などあればLINEオープンチャットもご利用ください。