Try this: enddate1=intnx('month',date1,0,'end'); /*end date of date1 ? 30/31/28/29*/ enddate2=intnx('month',date2,0,'end'); format enddate1 enddate2 date9.; /*ddmmmyyyy*/ numdays1=day(enddate1); /*number of max days in that month*/ numdays2=day(enddate2); Months = (datdif (date1,enddate1, 'act/act')/numdays1 ) + intck('month',date1,date2) + (day(date2)/numdays2) -1; /* due to the limitation of intck function a -1 is adjusted*/ run; /*date1- date2*/ /*date1month+ date2month +and all months in between*/ Example: 5feb2014 - 17may2014 5feb-28feb/28 + 2+17may-1may/31 Cheers!
... View more