如何转换荷兰语字符串日期?

时间:2016-10-01 14:26:37

标签: r date

我正在尝试将带有荷兰语日期的字符串变量转换为日期变量 原始变量的一些示例值(date.string):“18 sep.2016”,“29 mei 2014”,“7 mrt.2016”我试过:

df$date <- as.Date(df$dta.string, format = "%d %h %Y", locale = "dutch")

显然我犯了一个错误,因为我只在新专栏中提到NA,有人提出任何建议吗?

2 个答案:

答案 0 :(得分:5)

你可以做到

df <- data.frame(dta.string = c("18 sep. 2016", "29 mei 2014", "7 mrt. 2016"))
oldloc <- Sys.getlocale("LC_TIME")
Sys.setlocale("LC_TIME", "dutch")
df$dta.string <- sub("([a-z]{3})(?!\\.)", "\\1.", df$dta.string, perl=TRUE)
as.Date(df$dta.string, format = "%d %h. %Y")
# [1] "2016-09-18" "2014-05-29" "2016-03-07"
Sys.setlocale("LC_TIME", oldloc)

答案 1 :(得分:4)

$ sudo apt-get remove g++ libstdc++-6.4.7-dev $ sudo apt-get install build-essential g++-multilib 有一个lubridate::dmy参数,您可以在其中指定要评估字符串的区域设置,而不更改实际的区域设置。它还会切断不一致的分隔符,这很方便:

locale