您好,我的日期当前以40547的形式存储为数字。如何将其转换为MMDDYY10。
data SevenSec11;
set Seven11;
DateRecieved = input(put(DateRecieved, 8.), MMDDYY10.);
format DateRecieved MMDDYY10.;
run;
答案 0 :(得分:1)
如何转换它取决于值代表什么。如果是Excel存储的日期,则更改偏移值。如果应该表示MMDDYY值,则在Z6.
函数调用中使用PUT()
格式。
data test;
input num ;
sasdate1 = num + '30DEC1899'd ;
sasdate2 = input(put(num ,z6.),mmddyy10.);
format num comma7. sasdate: yymmdd10. ;
cards;
40547
;
结果:
Obs num sasdate1 sasdate2
1 40,547 2011-01-04 1947-04-05
请注意,对日期使用Y-M-D顺序将消除开头的零被截断可能引起的混淆。它还可以防止一半的观众将4月5日与5月4日混淆。