如何重新格式化日期?

时间:2019-02-06 17:40:31

标签: date sas format

您好,我的日期当前以40547的形式存储为数字。如何将其转换为MMDDYY10。

data SevenSec11;
      set Seven11;
      DateRecieved = input(put(DateRecieved, 8.), MMDDYY10.);
      format DateRecieved MMDDYY10.;
 run;

1 个答案:

答案 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日混淆。