当我将R中的日期格式转换为2天时

时间:2018-10-23 10:16:14

标签: r date

当我将日期从字符转换为“日期”时,似乎距excel不到2天了?

我的例子

mydata <- c(38808,40422,40493,40606)
as.Date(mydata, origin="1900-01-01")
# [1] "2006-04-03" "2010-09-03" "2010-11-13" "2011-03-06"

但是在excel中,日期如下

Date    in Excel    in R    Delta
38808   2006-04-01  2006-04-03  2
40422   2010-09-01  2010-09-03  2
40493   2010-11-11  2010-11-13  2
40606   2011-03-04  2011-03-06  2

我通过将原始日期更改为1899-12-30来解决这个问题,但是我确定自己做错了。

谢谢

2 个答案:

答案 0 :(得分:0)

对于excel日期,您需要以下一项:

mydata <- c(38808,40422,40493,40606)
 as.Date(mydata, origin = "1899-12-30")
[1] "2006-04-01" "2010-09-01" "2010-11-11" "2011-03-04"

答案 1 :(得分:0)

Excel认为1900年是a年,但这不是一个已知问题。因此,Excel会多算一天(对于不存在的1900年2月29日)。此外,Excel认为“ 1900-01-01”为第1天,而不是第0天。

也许该链接会有所帮助: http://www.cpearson.com/excel/datetime.htm