如何使用dtdate格式计算SAS中的时间间隔

问题描述

我有一个SAS数据集,该数据集的出生日期(dob)变量在dtdate9中。格式,例如显示为“ 01JAN2020”。

我正在寻找一个名为“ Age”的新变量,该变量计算从该日期起的年龄,即自今天起算的年间隔。我该怎么办?

解决方法

您可以使用此:

proc sql;
    create table have
    (dob num format=dtdate9.,age num
    )
    ;
    insert into work.have
    values(0,.)
    ;
quit;

data want;
    set have;
    age=int(intck('year',dob,%sysfunc(date())));
run;

此链接很有帮助: https://communities.sas.com/t5/SAS-Programming/How-to-convert-no-of-days-to-years-months-days-format/td-p/386885