我将数据保存在 .xlsx 文件中,并在数据中将日期和时间列分开。但是,我输入代码;
data1<-readWorksheetFromFile("file.xlsx", sheet="Sheet1")
将数据检索到 R 中。因此,我得到了 R 环境中的时间列,并附有无意义的日期。因此,R 中的时间列看起来像1899-12-31 16:07:11 ,在这种情况下,我只想要将时间设为16:07:11 。那怎么办?
XLConnect 用于POSIXct
表示data.frame
. 如果您只想提取可能使用的时间分量strftime(your_column, format = "%H:%M:%S")
(表示为character
)。
关于为什么你得到 1899-12-31 的一些背景:Excel 将日期时间值存储为十进制数字,表示自 1900-01-00 以来的天数(是的,第 00 天!-不存在)。小数天表示小时、分钟和秒。因此,十进制数字 1.0 代表 1900-01-01,数字 0.0 代表 1900-01-00。由于后者不存在,因此在 XLConnect 中它实际上表示为第 1 天的前一天,即 1899-12-31。仅时间值在 Excel 中表示为十进制数字 0.xxx。根据上述,在 XLConnect 中导入时,结果为 1899-12-31 HH:MM:SS。
可以在此处找到有关 Excel 日期时间值的其他信息。