SAS之间的确切月份

时间:2016-05-16 19:48:04

标签: date sas

我希望在SAS的两个日期之间找到完美的月份。我正在使用INTCK来做这件事。

 DATA dataset;
      set dataset;
       months_exact = intck ('months'. dob, doe);
  RUN;

现在,如果我的日期是2007年10月1日和2011年11月15日,它给了我49个月的时间,我希望它给我49.47个月。但我想为整个数据集做这个,而不必考虑处理具有不同时间长度的月份。有没有办法做到这一点?

1 个答案:

答案 0 :(得分:1)

假设您想要结束月份的分数:

获取现在正在做的49号码。

查找开始和结束之间的天数。

days = end - intnx('month',start,months,'sameday');

然后查找结束月份的天数。

days_month = intnx('month',end,0,'end') - intnx('month',end,0,'begin') + 1;

然后添加分数。

months_exact = months + days/days_month;