Как переформатировать даты? - PullRequest
0 голосов
/ 06 февраля 2019

Здравствуйте, в настоящее время мои даты хранятся в числовом виде в виде 40547. Как я могу преобразовать их в MMDDYY10.?

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

1 Ответ

0 голосов
/ 06 февраля 2019

Как конвертировать, зависит от того, что представляет значение.Если это даты, сохраненные в 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

Обратите внимание, что использование порядка дат YMD для дат устранит путаницу, которую могут вызвать усеченные начальные нули.Это также предотвратит путаницу половины вашей аудитории 5 апреля с 4 мая.

...