【问题标题】:Duration between two dates in SASSAS 中两个日期之间的持续时间
【发布时间】:2014-11-21 07:18:24
【问题描述】:

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

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

start date= 19940412
end date= 20120326

这 17 年 11 个月 14 天的持续时间。

那么我要写什么代码才能在 sas 中得到这个结果?

【问题讨论】:

  • 您的日期是按显示的方式存储的,还是按日期和格式存储的 yyyymmdd?

标签: sas


【解决方案1】:

这是您需要的代码:

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

【讨论】:

    【解决方案2】:

    您可以使用 SAS 函数 INTCK

    详情请上网搜索

     sas function intck
    

    【讨论】:

    • 这不会以 OP 要求的格式提供输出
    猜你喜欢
    • 1970-01-01
    • 2018-11-23
    • 2023-03-25
    • 2020-07-15
    • 1970-01-01
    • 1970-01-01
    • 2014-02-28
    相关资源
    最近更新 更多