0
當我嘗試使用openxlsx從xlsx文件讀取日期時遇到了問題。我已經嘗試過xlsx和xlconnect軟件包,但他們在我的計算機上都有Java錯誤,所以我使用openxlsx。使用openxlsx從xlsx文件中讀取日期後,將數字轉換爲日期和時間
我的最新數據是這樣的:
1/01/2015 0:30
1/01/2015 1:00
1/01/2015 1:30
1/01/2015 2:00
1/01/2015 2:30
1/01/2015 3:00
1/01/2015 3:30
1/01/2015 4:00
1/01/2015 4:30
1/01/2015 5:00
我用下面的代碼讀取數據:
a <- read.xlsx(paste0(myPath,"try/",myFileNameList[i]),startRow = 2,sheet = 1)
然後,我將數據保存爲CSV文件。在此csv文件,日期如下:
42005.02083
42005.04167
42005.0625
42005.08333
42005.10417
42005.125
42005.14583
42005.16667
42005.1875
42005.20833
類是數字。所以,這些數字應該對應於上面的日期。如何將數字數據轉換回日期和時間?
的數據樣本是:
a <- c(42005.02083,42005.04167,42005.06250,42005.08333,42005.10417,42005.12500,42005.14583,42005.16667,42005.18750,42005.20833)
非常感謝!但我無法複製你的答案。我在墨爾本。我的數據涉及悉尼,墨爾本和澳大利亞所有州。當我運行時:as.POSIXct(a,origin =「1899-12-30」,tz =「Australia/Brisbane」)+ as.difftime(a,units =「days」)。結果如下:[1]「2015-01-01 22:10:04 AEST」「2015-01-01 22:40:05 AEST」「2015-01-01 23:10:05 AEST」...當我使用「澳大利亞/墨爾本」等其他tzs時,我有不同的結果。你能解釋一下給我嗎?謝謝。 –
@FengChen - 因爲你沒有使用我寫的代碼:'as.POSIXct(a,origin =「1899-12-30」)''和'as.POSIXct(「1899-12-30」)'不是同樣的事情。 – thelatemail
明白了。非常感謝! –