【发布时间】:2020-03-31 07:11:37
【问题描述】:
我使用 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
【问题讨论】:
我使用 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')
【讨论】: