为什么在一种情况下 as.Date return 不适用,而在另一种情况下 return 不适用?

Why does as.Date return NA in one case, and doesn't return in another?

我使用 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

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

> 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是决定日期字符串解析行为的变量:

Sys.setlocale("LC_TIME", 'en_GB.UTF-8')