SAS中的日期转换问题

时间:2014-12-18 20:31:33

标签: datetime sas

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

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

我得到的输出变量是将日期从2014年改为2020年。所以在上面的例子中,我得到06MAY2020。所有的月份和日子看起来都是正确的,所以我无法弄清楚为什么岁月会改变我。有什么想法吗?

1 个答案:

答案 0 :(得分:4)

这是因为你把它带进date9.。信息中的9表示how many characters do we look at to create this number?06/MAY/2014不是9个字符,而是11个字符。

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

这给出了预期的结果。