DATA Step, Macro, Functions and more

Date calculation

Reply
Contributor ZZB
Contributor
Posts: 40

Date calculation

Hello,

I want to add 1-month (or X-month) to original date. Is there any simple and efficient way to deal with it?

31/10/2001  --> 30/11/2001

30/11/2001  --> 31/12/2001

31/12/2001  --> 31/01/2002

31/01/2002  --> 28/02/2002

......

Thanks

Super Contributor
Posts: 275

Re: Date calculation

newdate=intnx('month', olddate,1, 'same');

Respected Advisor
Posts: 4,926

Re: Date calculation

Use function INTNX with "SAME" or "END" parameter :

data have;

input (inDate outDate) (:ddmmyy.);

format inDate outDate ddmmyy10.;

datalines;

31/10/2001   30/11/2001

30/11/2001   31/12/2001

31/12/2001   31/01/2002

31/01/2002   28/02/2002

15/02/2002   .

;

data want;

set have;

format newDate endDate ddmmyy10.;

newdate = intnx("MONTH", inDate, 1, "SAME");

enddate = intnx("MONTH", inDate, 1, "END");

run;

proc print data=want noobs; run;

PG

PG
Ask a Question
Discussion stats
  • 2 replies
  • 181 views
  • 6 likes
  • 3 in conversation