从R中的excel读取日期时间值

时间:2015-07-20 13:00:32

标签: r read.csv

我有以下格式的专栏,

5/26/2015 11:45
5/26/2015 12:00
5/26/2015 12:15
5/26/2015 12:30
5/26/2015 12:45

当我在R中使用read.csv阅读时,其内容如下,

42155.76
42155.77
42155.78
42155.79
42155.8 

有什么问题?如何阅读相同的格式?

1 个答案:

答案 0 :(得分:3)

as.POSIXct(x*86400, origin="1900-01-01")
[1] "2015-06-02 14:14:24 EDT" "2015-06-02 14:28:47 EDT"
[3] "2015-06-02 14:43:12 EDT" "2015-06-02 14:57:36 EDT"
[5] "2015-06-02 15:12:00 EDT"

当您在Excel或类似程序中查看文件时,它会显示已排列和格式化的日期,但会在内部将其保存为自1900年1月1日以来的日期。这就是保存在csv文件中的内容。

另请注意,原始日期可能与标准不同。来自?as.Date

上的R文档
  

大多数系统在内部将日期记录为自某些日期以来的天数   起源,但这充满了问题,......唯一安全的程序   是检查已知日期的其他系统值:报告   互联网(包括R-help)往往是错误的。

而且,

  

据说Excel使用1900-01-01作为第1天(Windows默认)或   1904-01-01为第0天(默认为Mac),但Excel很复杂   错误地将1900年视为闰年。   所以对于日期(1901年后)从Windows Excel as.Date(35981,origin =" 1899-12-30")#1998-07-05

数据

x <- c(42155.76,42155.77,42155.78,42155.79,42155.8)