Datetime SAS中的日期转换问题

Datetime SAS中的日期转换问题,datetime,sas,Datetime,Sas,我有一个奇怪的情况,我把日期作为角色,比如2014年5月6日。我将它们转换为SAS日期,如下所示: data ae; set ae; format aestdt date10.; aestdt=input(aestdat,date9.); put aestdt=YYMMDD10.; run; 对于输出变量,我得到的是将日期年份从2014年更改为2020年。在上面的例子中,我得到2020年5月6日。所有的月和日看起来都是正确的,所以我不明白为什么岁月在我身上改变。

我有一个奇怪的情况,我把日期作为角色,比如2014年5月6日。我将它们转换为SAS日期,如下所示:

data ae;
    set ae;
    format aestdt date10.;
    aestdt=input(aestdat,date9.);
    put aestdt=YYMMDD10.;
run;

对于输出变量,我得到的是将日期年份从2014年更改为2020年。在上面的例子中,我得到2020年5月6日。所有的月和日看起来都是正确的,所以我不明白为什么岁月在我身上改变。有什么想法吗?

这是因为你把它作为
日期9带来的。
。informat中的
9
表示
创建这个数字需要看多少个字符?
<代码>2014年5月6日不是9个字符,而是11个字符

data ae;
    aestdat='06/MAY/2014';
    format aestdt date10.;
    aestdt=input(aestdat,date11.);
    put aestdt=YYMMDD10.;
run;

这将给出预期的结果。

这是因为您将其作为
日期9带入。
。informat中的
9
表示
创建这个数字需要看多少个字符?
<代码>2014年5月6日不是9个字符,而是11个字符

data ae;
    aestdat='06/MAY/2014';
    format aestdt date10.;
    aestdt=input(aestdat,date11.);
    put aestdt=YYMMDD10.;
run;

这将给出预期的结果。

使用压缩功能从第一个日期中删除/删除。输入(压缩(aestdat,“/”),日期9。)@Reese为什么需要这样做?SAS的一个主要优势是它愿意为您做这样的事情!我的身体里有太多的毒品是我的借口;)使用压缩功能首先删除/删除日期。输入(压缩(aestdat,“/”),日期9。)@Reese为什么需要这样做?SAS的一个主要优势是它愿意为您做这样的事情!我的身体里有太多的毒品是我的借口;)