这是我的代码:
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"
关于如何解决此问题的任何想法?谢谢。
答案 0 :(得分:1)
我认为您的当地语言不是英语...所以会失败:
您的解决方案:
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)