使用DATE9格式将数字转换为SAS date

使用DATE9格式将数字转换为SAS date,sas,Sas,我有一个SAS字段,其中数据类型为number,格式为date9。 它的值类似于2018年9月30日。 如何将其转换为SAS日期,以便进行日期操作?SAS日期从1960年1月1日开始存储为数字,从数字=0开始,每天增加1。您的日期存储为数字,然后从proc中获取内容和格式,以您想要的方式显示 data have; input date:date9.; format date date9.; datalines; 30SEP2018 ; proc contents data=have; ru

我有一个SAS字段,其中数据类型为number,格式为date9。 它的值类似于2018年9月30日。
如何将其转换为SAS日期,以便进行日期操作?

SAS日期从1960年1月1日开始存储为数字,从数字=0开始,每天增加1。您的日期存储为数字,然后从proc中获取内容和格式,以您想要的方式显示

 data have;
 input date:date9.;
format date date9.;
datalines;
30SEP2018
;

proc contents data=have;
run;

您可以在上述日期进行计算,并给出如下所示的适当结果

  data want;
   set have;
  new_date= date+1;
 new_date1= date-1;
 format new_date new_date1 date9.;
run;

proc print; run;

SAS日期从1960年1月1日开始存储为数字,从数字=0开始,每天增加1。您的日期存储为数字,然后从proc中获取内容和格式,以您想要的方式显示

 data have;
 input date:date9.;
format date date9.;
datalines;
30SEP2018
;

proc contents data=have;
run;

您可以在上述日期进行计算,并给出如下所示的适当结果

  data want;
   set have;
  new_date= date+1;
 new_date1= date-1;
 format new_date new_date1 date9.;
run;

proc print; run;

它已经是date,SAS只有两种数据类型char和num。date以num存储,格式仅用于显示。您可以在itit上执行所有计算。当它已在日期中时,SAS只有两种数据类型char和num。date存储在num中,格式仅用于显示。你可以在上面做所有的计算