Rで少し変わった日付文字列を日付オブジェクトに変換する必要があって、調べたところlubridate::ydm()
に辿り着きました。
「え、こんなのもパースできるの?」と驚いたので、何ができて何ができないかを整理してみました。
できること
次のような日付文字列は日付オブジェクトに変換できました。個人的には18 111
のような一意にならなそうなやつはNA
でも良い気がしますが・・・。
日付文字列 | 日付オブジェクト |
---|---|
20090101 |
2009-01-01 |
2009-01-02 |
2009-01-02 |
2009 01 03 |
2009-01-03 |
2009-1-4 |
2009-01-04 |
2009-1, 5 |
2009-01-05 |
Created on 2009 1 6 |
2009-01-06 |
200901 !!! 07 |
2009-01-07 |
second chapter due on 2013, august, 24 |
2013-08-24 |
first chapter submitted on 2013, 08, 18 |
2013-08-18 |
2013 aug 23 |
2013-08-23 |
2018 11 |
2018-01-01 |
18 11 |
2018-01-01 |
18 111 |
2018-11-01 |
18 121 |
2018-12-01 |
18 131 |
2018-01-31 |
181111 |
2018-11-11 |
18nov11 |
2018-11-11 |
18Nov11 |
2018-11-11 |
18noV11 |
2018-11-11 |
18november11 |
2018-11-11 |
18November11 |
2018-11-11 |
18nOvEmBeR11 |
2018-11-11 |
18+11*11 |
2018-11-11 |
できないこと
次のような日付文字列は変換できませんでした。
日付文字列 | 日付オブジェクト | 補足 |
---|---|---|
2009101 |
NA |
7桁はダメ |
2009-01-32 |
NA |
存在しない日付はダメ |
200913 |
NA |
6桁はyymmddじゃないとダメ |
90104 |
NA |
5桁はダメ |
0915 |
NA |
4桁もダメ |
9 1 6 |
NA |
年は1桁じゃダメ |
009 1 7 |
NA |
年は3桁もダメ |
0 2013, august, 24 |
NA |
日付文字列の前に数字があるとダメ |
2013, 08, first |
NA |
日を英語にするのはダメ |
2013 augu 23 |
NA |
月を略称にする場合は3文字じゃないとダメ |
2018 1 1 |
NA |
全角はダメ |
2O18 1 1 |
NA |
0(ゼロ)をO(オー)で置き換えるのはダメ |