2013-11-24 76 views
4

我不明白爲什麼下面這行R腳本在Windows上運行得很好(7,64位R 3.0.2 64位),但不是Linux操作系統(3.12.1-1-ARCH的GNU/Linux的64位有R 3.0.2 64位):日期/時間格式轉換字符(POSIXct)適用於Windows而不是Linux

視窗:

>strptime("2013-05-08 10:27:50", format="%Y-%m-%d %H:%M:%S") 
>[1] "2013-05-08 10:27:50" 

Linux操作系統:

> strptime("2013-05-08 10:27:50", format="%Y-%m-%d %H:%M:%S") 
>NA 

有一些參考「LC_TIME語言環境類別「在的描述中但我真的不知道這是否與我的問題有關。

有人請解釋一下,爲什麼相同的代碼行會導致不同的結果,以及如何讓R的Linux版本像Windows版本一樣行事?

+1

兩臺機器上的時區是否相同?請參閱'?Sys.timezone'。 –

+1

在Linux上適用於我 - 必須與您的特定Linux系統的配置有關。嘗試在啓動R之前在shell中輸出「LC_ALL = C」。 – zwol

+0

不,它不是。 Linux向我展示了「」和Windows「CET」。任何想法如何改變? –

回答

0

它在Arch Linux中使用3.17.6-1-ARCH和R-3.1.2。我的時區設置爲亞洲/加爾各答,但輸出略有不同,它也顯示了時區。

strptime("2013-05-08 10:27:50", format="%Y-%m-%d %H:%M:%S") [1] "2013-05-08 10:27:50 IST"

相關問題