我有从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"
我不明白我为什么会这样?
答案 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')