如何在r中添加30天的日期?

时间:2017-10-31 14:31:56

标签: r date

我有从csv excel文件中选择的日期数据,它的格式为日/月/年

DateAchat=DataAch[which((nchar(as.character(DataAch$FrontOfficeUser_ld))==5)),"CreationDate"]

    head(DateAchat)
    [1] 07/03/2015 07/03/2015 07/03/2015 07/03/2015 07/03/2015 08/03/2015

然后,我想在第一个日期添加30天,例如。我得不到正确的结果

as.Date(DateAchat[1])+30
[1] "0007-04-19"

我不明白我为什么会这样?

3 个答案:

答案 0 :(得分:1)

您需要使用正确的字符列转换为日期列    格式。

    as.Date("07/03/2015", format="%d/%m/%Y") + 30
    [1] "2015-04-06"

答案 1 :(得分:0)

试试这个:

DateAchat<-as.Date(DateAchat, format = "%d/%m/%Y")
DateAchat[1]+30

我认为变量DateAchat是每个日期的字符串。

答案 2 :(得分:0)

使用lubridate包可以执行多天的工作。

library(lubridate)
as.Date("07/03/2015", format="%d/%m/%Y") + duration(30, 'days')
as.Date("07/03/2015", format="%d/%m/%Y") + duration(30, 'hours')