我正在尝试将字符串转换为POSIXlt格式 . 字符串定义如下:
x <- "Mon Jul 13 14:28:42 2015"
我使用以下格式规范进行日期和时间转换:
dateformat <- "%a %b %d %H:%M:%S %Y"
-
%a:此平台上当前语言环境中的缩写工作日名称
-
%b:此平台上当前区域设置中的缩写月份名称
-
%d:十进制数字的月份日期(01-31)
-
%H:十进制小时数(00-23)
-
%M:十进制数分钟(00-59)
-
%S:秒为整数(00-61)
-
%Y:世纪的年份
我的区域设置是:
> Sys.getlocale()
[1] "LC_COLLATE=English_United States.1252; LC_CTYPE=English_United States.1252;
LC_MONETARY=English_United States.1252; LC_NUMERIC=C; LC_TIME=English_United States.1252"
我的会话信息是:
sessionInfo()
R version 3.2.2 (2015-08-14)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 8 x64 (build 9200)
locale:
[1] LC_COLLATE=English_United States.1252 LC_CTYPE=English_United States.1252 LC_MONETARY=English_United States.1252
[4] LC_NUMERIC=C LC_TIME=English_United States.1252
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] lubridate_1.5.0 dplyr_0.4.3 rosetta_0.0.1 plyr_1.8.3
[5] scanEngineParser_0.0.1.9001
loaded via a namespace (and not attached):
[1] magrittr_1.5 R6_2.1.1 assertthat_0.1 parallel_3.2.2 DBI_0.3.1 tools_3.2.2 Rcpp_0.12.2 stringi_1.0-1
[9] stringr_1.0.0 XML_3.98-1.3
一切似乎都没问题,但我得到NA结果:
-
strptime:
> strptime(x = x, format = dateformat) [1] NA
-
as.Date:
>as.Date(x = x, format = dateformat) [1] NA
-
与:as.POSIXlt,as.POSIXct,strftime,...
我认为这个问题是工作日的缩写,所以我查了一下:
> format(Sys.time(), format = dateformat) [1] "Tue Dec 29 18:38:56 2015"
即使我使用格式生成的字符串,它也会返回NA:
> strptime(x = format(Sys.time(), format = dateformat), format = dateformat) [1] NA
你知道发生了什么吗?
我怎么能把这个字符串转换为POSIXlt?
1 回答
我重新启动了RStudio,但问题仍然存在 .
我重新启动了SO(Windows 10),现在它正常工作......问题可能与SO有关 .
学过的知识...