我正在尝试在R中转换字符日期:
Before After
"31/03/2018" "201804"
"30/06/2018" "201807"
"30/09/2018" "201810"
"31/12/2018" "201901"
月份提前一个月。这对于尝试将日历日期转换为加拿大财政日期的人有所帮助,该日期是在第1,4,7和10个月之后,而不是在其他地方(通常)的第3,6,9和12个月。
答案 0 :(得分:0)
看起来你还没有尝试过任何东西,你走了:
format(as.Date("31/03/2018","%d/%m/%Y")+1,"%Y%m")
format(as.Date(Before,"%d/%m/%Y")+1,"%Y%m")
答案 1 :(得分:0)
使用lubridate,事情就像添加一天一样简单:
library(lubridate)
before <- c("31/03/2018","30/06/2018","30/09/2018","31/12/2018")
after <- dmy(before)+days(1)
format(after, "%Y%m")
答案 2 :(得分:0)
在这种情况下,使用%m+%
运算符非常方便。 %m+% months(1)
将在日期中添加1
个月,或者%m+% months(2)
将添加2个月的日期。甚至可以使用%m+% years(1)
将1
年添加到日期变量中。
library(lubridate)
v <- c("31/03/2018", "30/06/2018", "30/09/2018", "31/12/2018")
format((dmy(v) %m+% months(1)), "%Y%m")
#[1] "201804" "201807" "201810" "201901"