SAS中两个日期之间的持续时间

SAS中两个日期之间的持续时间,sas,Sas,我将通过一个例子来解释- 假设我有两个日期,我想以年-月-日期格式查找它们之间的持续时间 start date= 19940412 end date= 20120326 此期限为17年11个月14天 那么,我应该编写什么代码来在sas中获得这个结果呢?您可以使用sas函数INTCK 有关详细信息,请在internet上搜索 sas function intck 以下是您需要的代码: data _null_; start_date= '19940412'; end_date= '

我将通过一个例子来解释-

假设我有两个日期,我想以年-月-日期格式查找它们之间的持续时间

start date= 19940412
end date= 20120326
此期限为17年11个月14天


那么,我应该编写什么代码来在sas中获得这个结果呢?

您可以使用sas函数INTCK

有关详细信息,请在internet上搜索

 sas function intck

以下是您需要的代码:

data _null_;
   start_date= '19940412';
   end_date= '20120326';
   /* convert to sas dates */
   start_dt=input(start_date,yymmdd8.);
   end_dt=input(end_date,yymmdd8.);
   /* calculate difference in years */
   years=intck('YEAR',start_dt,end_dt,'C');
   /* recalculate start date */
   start_dt=intnx('YEAR',start_dt,years,'S');
   /* calculate remaining months */
   months=intck('MONTH',start_dt,end_dt,'C');
   /* recalculate start date */
   start_dt=intnx('MONTH',start_dt,months,'S');
   /* calculate remaining days */
   days=intck('DAY',start_dt,end_dt,'C');
   /* results */
   put years= months= days=;
run;
其中:

years=17 months=11 days=14

您的日期是以显示的形式存储,还是以日期和格式yyyymmdd存储?这不会以OP要求的格式提供输出