在 R 中转换 POSIXct 会在 3.5.0 版中生成 NA



这是我的代码:

last_date <- "Tue, 26 Jun 2018 08:58:10 -0700 (PDT)"
as.Date(as.POSIXct(last_date, format = "%a, %d %b %Y %H:%M:%S %z"))

结果是

[1] NA

版本信息:

platform       x86_64-w64-mingw32          
arch           x86_64                      
os             mingw32                     
system         x86_64, mingw32             
status                                     
major          3                           
minor          5.0                         
year           2018                        
month          04                          
day            23                          
svn rev        74626                       
language       R                           
version.string R version 3.5.0 (2018-04-23)
nickname       Joy in Playing       

当我在另一台计算机(R 版本 3.4.0(上尝试相同的代码时,结果是,正如预期的那样,

[1] "2018-06-26"

关于如何解决这个问题的任何想法?谢谢。

我认为您当地的语言不是英语...所以它会失败:

您的解决方案:

Sys.setlocale("LC_TIME", "C")
last_date <- "Tue, 26 Jun 2018 08:58:10 -0700 (PDT)"
as.Date(as.POSIXct(last_date, format = "%a, %d %b %Y %H:%M:%S %z"))

结果:

[1] "2018-06-26"

注意:您可能需要将其设置回其他任务的位置。在这种情况下,请重新启动 R 或执行:

store_loctime <- Sys.getlocale("LC_TIME")
Sys.setlocale("LC_TIME", "C")
# Your code
Sys.setlocale("LC_TIME", store_loctime)

最新更新