我正在使用来自R中的read_excel
包的readxl
读取xlsx文件。我的列中有一个字符串,因此readxl
将其作为字符串获取。但是,日期时间之前会转换为数字,然后以字符串形式给出。使用as.Date
我可以正确获取日期时间的日期部分,但我放宽了时间戳。使用具有不同来源的as.POSIXct
不会给出正确的时间戳。这是一个例子:
Excel中显示的时间:28/09/2016 14:47
它由read_excel读取为字符串:"42641.6163310185"
以下未能提供28/09/2016 14:47
> as.POSIXct(as.numeric("42641.6163310185"), origin = "1899-12-30")
[1] "1899-12-30 11:50:42.616331 GMT"
> as.POSIXct(as.numeric("42641.6163310185"), origin = "2016-09-28")
[1] "2016-09-28 12:50:41.616331 BST"
正确的转换是什么,read_excel
函数会丢失一些信息?
编辑:
来自data difference in as.POSIXct
in R with Excel转换是*86400
,我不知道。以下作品:
> as.POSIXct(42641.6163310185*86400, origin = "1899-12-30", tz="UTC")
[1] "2016-09-28 14:47:30 UTC"