Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Date 如何将文本文件日期转换为有用的SAS日期格式_Date_Datetime_Sas_Formatting - Fatal编程技术网

Date 如何将文本文件日期转换为有用的SAS日期格式

Date 如何将文本文件日期转换为有用的SAS日期格式,date,datetime,sas,formatting,Date,Datetime,Sas,Formatting,我目前收到的数据是文本文件的形式,其中变量之间用|分隔。 当前出生日期以23年10月12日格式列出。同样,死亡日期列为99年12月31日。我试图将其转换为正确的SAS日期格式,但每次都会遇到问题 data raw_Demographic; infile "&path.\&demo." missover truncover dsd dlm = "|" ; informat birth_date anydtdte10. death_dt $10. ; form

我目前收到的数据是文本文件的形式,其中变量之间用|分隔。 当前出生日期以23年10月12日格式列出。同样,死亡日期列为99年12月31日。我试图将其转换为正确的SAS日期格式,但每次都会遇到问题

data raw_Demographic;  infile "&path.\&demo." missover truncover dsd dlm = "|" ;
informat   birth_date anydtdte10.  death_dt        $10.  ;
format     birth_date mmddyy10.  death_dt        $10.  ;

input       birth_date  death_dt                     ;

if death_dt ne "0" then dte_death=input(death_dt, anydtdte10.);
    format  dte_death mmddyy10.;
    drop  death_dt;

if dte_death="31DEC1999"D then dte_death=.; *Note: this is because the format makes 9999 as 1999 so these are observations with no death date therefore we set to missing;
问题在于,这会将日期输出为:

出生日期=2023年12月10日,但想要1923年12月10日
死亡日期=1999年12月31日,但想要1999年12月31日


是否有办法将其转换为上述格式?

由于原始格式的不确定性,我不确定是否有“适当”的方法,但您可以始终使用
intnx
来转换年份<代码>新日期=intnx('年',出生日期,-100)为什么希望日期在9999年?就连梅尔·布鲁克斯的角色也只有2000年的历史。如何区分没有死亡的人和2019年12月31日死亡的人?