I'm trying to parse date in R (library (hms)). English, Deutsch, French etc. are parsed nice. F.e.:
parse_date("1 Januar 2015", "%d %B %Y", locale = locale("de"))
[1] "2015-01-01"
But if I try to parse data with months written by languages with cyrillic symbols: uk, ru, bg, by... etc. - I have an error. F.e.:
parse_date("1 січня 2015", "%d %B %Y", locale = locale("uk"))
Warning: 1 parsing failure.
row col expected actual
1 -- date like %d %B %Y 1 <f1><U+00B3><f7><ed><ff> 2015
[1] NA
Or this one:
parse_date("31 януари 2011","%d %B %Y",locale=locale("bg"))
Warning: 1 parsing failure.
row col expected actual
1 -- date like %d %B %Y 31 <ff><ed><f3><e0><f0><e8> 2011
[1] NA
Data_names are all in. F.e.:
date_names_lang("bg")
<date_names>
Days: неделя (нд), понеделник (пн), вторник (вт), сряда (ср), четвъртък (чт), петък
(пт), събота (сб)
Months: януари (ян.), февруари (февр.), март (март), април (апр.), май (май), юни (юни),
юли (юли), август (авг.), септември (септ.), октомври (окт.), ноември
(ноем.), декември (дек.)
AM/PM: пр.об./сл.об.
What i should do to fix this problem? Thanks.
I found a solution (in Windows). Maybe you can also propose yours. F.e.:
date_test <- iconv("1 януари 2021","Windows-1251","UTF-8")
date_test
[1] "1 януари 2021"
parse_date(date_test, "%d %B %Y", locale = locale("bg"))
[1] "2021-01-01"
date_test <- iconv("1 січня 2021","Windows-1251","UTF-8")
date_test
[1] "1 січня 2021"
parse_date(date_test, "%d %B %Y", locale = locale("uk"))
[1] "2021-01-01"
date_test <- iconv("1 января 2021","Windows-1251","UTF-8")
date_test
[1] "1 января 2021"
parse_date(date_test, "%d %B %Y", locale = locale("ru"))
[1] "2021-01-01"
date_test <- iconv("1 янв. 2021","Windows-1251","UTF-8")
date_test
[1] "1 янв. 2021"
parse_date(date_test, "%d %b %Y", locale = locale("ru"))
[1] "2021-01-01"