【发布时间】:2021-06-04 00:52:42
【问题描述】:
我的课程是西班牙语。当我有一个完整的月份名称格式 (%B) 时,我得到正确的日期:
as.Date("01-Febrero-2021", format = "%d-%B-%Y")
# [1] "2021-02-01"
但是,当我尝试使用缩写月份 (%b) 时,我得到一个“NA”:
as.Date("01-Feb-2021", format = "%d-%b-%Y")
# [1] NA
as.Date("01-feb-2021", format = "%d-%b-%Y")
# [1] NA
as.Date("01-FEB-2021", format = "%d-%b-%Y")
# [1] NA
我做错了什么?
感谢 G. Grothendieck 的回答,我可以让它工作:
Sys.getlocale("LC_TIME")
# [1] "Spanish_Argentina.1252"
在Sys.Date上使用format查看缩写月份时,发现月份是用句号写的:
format(Sys.Date(), "%b")
# [1] "feb."
尝试解析一个字符串,这次用句点:
as.Date("01-feb.-2021", format = "%d-%b-%Y")
# [1] "2021-02-01"
有效!
【问题讨论】:
-
在使用语言环境
"Spanish_Chile.1252"时,他们还遇到了缩写月份 (%b) 之后的句点 (.) 的问题:Problem with as.Date %b format in short month name writen with dot R。语言环境是一场噩梦!