为什么as.Date在一种情况下返回NA,而在另一种情况下不返回?

时间:2019-12-06 09:49:37

标签: r date posixct

我使用R版本3.6.1

当我跑步时:

> as.Date('Dec 15, 2000', format = '%b %d, %Y')

我得到:

[1] "2000-12-15"

在具有相同R版本和库的另一台计算机上,我得到:

> as.Date('Dec 15, 2000', format = '%b %d, %Y')
[1] NA

1 个答案:

答案 0 :(得分:3)

日期字符串的解析取决于机器的语言设置。如果要使用英语日期字符串,请将语言环境设置为(英国或美国)英语:

s := "something"
for i, v := range []byte(s) { // Copying s is optimized away
    // ...
}

编辑

更具体地说,环境变量> Sys.setlocale("LC_ALL", 'en_GB.UTF-8') [1] "LC_CTYPE=en_GB.UTF-8;LC_NUMERIC=C;LC_TIME=en_GB.UTF-8;LC_COLLATE=en_GB.UTF-8;LC_MONETARY=en_GB.UTF-8;LC_MESSAGES=en_GB.UTF-8;LC_PAPER=es_ES.UTF-8;LC_NAME=C;LC_ADDRESS=C;LC_TELEPHONE=C;LC_MEASUREMENT=es_ES.UTF-8;LC_IDENTIFICATION=C" > as.Date('Dec 15, 2000', format = '%b %d, %Y') [1] "2000-12-15" 是确定日期字符串的解析行为的变量:

LC_TIME