如果日期是外语,如何将字符转换为Date? #丹麦

时间:2019-05-27 14:12:55

标签: r date

我从丹麦一家报纸上抓取了数据,日期如下:

"08. Maj 2012"

这是在字符类中,我想作为数据类。

我尝试了as.Date(dates, "%d. %b %Y")

我得到:

  

as.Date.default(allarticles.dr,“%d。%b%Y”)中的错误:不知道   如何将“ allarticles.dr”转换为“日期”类

我该怎么办?我需要将字符转换为最新的字符,但无法正常识别。

我也尝试过

Sys.setlocale("LC_TIME", "da_DK.UTF-8") as.Date(dates, "%d. %b %Y)

我得到了很多NAs

应用dput时,会出现以下示例NA:

"10. Feb. 2018", "13. Feb. 2018", "18. Feb. 2018", "21. Feb. 2018", "27. Feb. 2018", "01. Mar. 2018", "01. Mar. 2018", "09. Mar. 2018", "14. Mar. 2018", "24. Mar. 2018", "26. Mar. 2018", "07. Apr. 2018", "12. Apr. 2018", "15. Apr. 2018", "28. Apr. 2018", "04. Jun. 2018", "05. Jun. 2018", "05. Jun. 2018", "12. Jun. 2018", "14. Jun. 2018", "16. Jun. 2018", "17. Jun. 2018", "19. Jun. 2018", "21. Jun. 2018", "29. Jun. 2018", "12. Jul. 2018", "13. Jul. 2018", "15. Jul. 2018", "22. Jul. 2018", "07. Aug. 2018", "08. Aug. 2018", "20. Aug. 2018", "21. Aug. 2018", "25. Aug. 2018", "28. Aug. 2018", "31. Aug. 2018", "31. Aug. 2018", "02. Sep. 2018", "02. Sep. 2018", "06. Sep. 2018", "20. Sep. 2018", "27. Sep. 2018", "01. Okt. 2018", "06. Okt. 2018", "09. Okt. 2018", "11. Okt. 2018", "13. Okt. 2018", "13. Okt. 2018", "13. Okt. 2018", "13. Okt. 2018", "15. Okt. 2018", "17. Okt. 2018", "18. Okt. 2018", "18. Okt. 2018", "18. Okt. 2018", "20. Okt. 2018", "22. Okt. 2018", "23. Okt. 2018", "24. Okt. 2018", "27. Okt. 2018", "27. Okt. 2018", "27. Okt. 2018", "27. Okt. 2018", "29. Okt. 2018", "08. Nov. 2018", "08. Nov. 2018", "08. Nov. 2018", "08. Nov. 2018", "13. Nov. 2018", "15. Nov. 2018", "16. Nov. 2018", "27. Nov. 2018", "27. Nov. 2018", "28. Nov. 2018", "29. Nov. 2018", "02. Dec. 2018", "05. Dec. 2018", "05. Dec. 2018", "05. Dec. 2018", "06. Dec. 2018", "07. Dec. 2018", "08. Dec. 2018", "12. Dec. 2018", "13. Dec. 2018", "19. Dec. 2018", "20. Dec. 2018", "01. Jan. 2019", "06. Jan. 2019", "04. Feb. 2019", "06. Feb. 2019", "07. Feb. 2019", "18. Feb. 2019", "21. Feb. 2019", "07. Mar. 2019", "21. Mar. 2019", "27. Mar. 2019", "28. Mar. 2019"

1 个答案:

答案 0 :(得分:2)

假设Windows,将其设置为丹麦语,执行操作,然后将其重新设置。

Sys.setlocale("LC_TIME", "Danish")

date <- c("08. Maj 2012", "09. Okt 2012")
fmt <- "%d. %b %Y"
as.Date(date, fmt)
## [1] "2012-05-08" "2012-10-09"

Sys.setlocale("LC_TIME")