2015-12-29 52 views
1

我試圖將字符串轉換爲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?

+1

不是特別有幫助的也許,但是當我運行你的例子,它工作正常對我來說,用'strptime的輸出(X = X,格式=日期格式)'是POSIXlt。 – Jordan

+1

我無法複製此行爲。你的'sessionInfo()'輸出是什麼?請編輯它到你的問題。 –

回答

0

我重新啓動了RStudio,但問題仍然存在。
我重新啓動SO(Windows 10),現在它正常工作......問題可能與SO有關。

課了...