I am looking to add and subtract six months (bond time) reliably with lubridate
.
For example, adding six months to 12/31/2014
should result in 6/30/2015
,
and adding to 2/28/2014
should result in 8/31/2014
The issue with as.Date("2014-12-31") + months(6)
, is that it yields an NA
. Alternatively, the second result is 8/28/2014 because it doesn't just add 6 months to the month and then know where the day should end up dependent upon the month.
Is there any way to quickly correct this? At the moment, I am building a function to basically use a switch and consider each month, but this is very long and I am having problems with it as well.
Thanks!
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…