我試圖將字符串轉換爲POSIXlt格式。該字符串被等被定義:如何將字符串轉換爲字符串縮寫爲星期幾和月份的字符串
x <- "Mon Jul 13 14:28:42 2015"
我使用日期和時間轉換的格式如下規格:
dateformat <- "%a %b %d %H:%M:%S %Y"
- %A:在這個當前區域簡寫的星期幾平臺
- %b:此平臺上當前語言環境中的縮寫月份名稱
- %d:時爲十進制數(00-23)
- %M::分鐘爲十進制數(00-59)
- %的月份,十進制數(01-31)
- %H的日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
與相同:作爲。 POSIXlt,as.POSixct,strftime,...
我suposed的問題是平日和mothday縮寫,所以我檢查:
> 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?
不是特別有幫助的也許,但是當我運行你的例子,它工作正常對我來說,用'strptime的輸出(X = X,格式=日期格式)'是POSIXlt。 – Jordan
我無法複製此行爲。你的'sessionInfo()'輸出是什麼?請編輯它到你的問題。 –