更改SAS日期格式

时间:2019-03-24 04:33:32

标签: date sas

我在 ddmmyy8 中有一个日期变量。格式,例如12/12/24,我想将其更改为 ddmmyy10 。格式,但是它会自动更改为2012年12月24日,这是不正确的,日期应为1912年12月24日。

有没有办法告诉SAS是1912,而不是2012?还是我必须手动减去100年?

1 个答案:

答案 0 :(得分:1)

您怎么知道哪个日期应该是2012年,哪个日期应该是1912年?

如果您的变量确实是SAS日期变量,那么世纪已经是2000年,您以前就无法看到它,因为您使用的显示格式无法显示世纪。您可以使用intnx()来调整值。

want = intnx('year',have,-100,'same');

如果要将字符串转换为日期,则可以使用YEARCUTOFF选项使它将12解释为1912而不是2012

857   %let optsave=%sysfunc(getoption(yearcutoff));
858   %put &=optsave;
OPTSAVE=1926
859   %put %sysfunc(inputn(24/12/12,ddmmyy8),date9);
24DEC2012
860   options yearcutoff=1912;
861   %put %sysfunc(inputn(24/12/12,ddmmyy8),date9);
24DEC1912
862   options yearcutoff=&optsave;