Ошибка даты в SAS - PullRequest
       10

Ошибка даты в SAS

2 голосов
/ 04 декабря 2011

Как преобразовать переменную mmddyy в переменную date9? Например, предположим, что у нас есть следующее:

    x = 05/10/2011

Я хочу, чтобы x имел форму 10 мая 2011 года. Поэтому я сделал следующее:

   xnew = put(x, date11.);

Но по какой-то причине возникает ошибка (date11 не является распознанным форматом). Зачем? Я предполагаю, что вы не можете конвертировать из одного формата даты в другой формат даты? Сначала необходимо преобразовать формат обратно во внутреннее значение sas (количество дней с 1 января 1960 года), а затем преобразовать его в date11?

1 Ответ

7 голосов
/ 04 декабря 2011

Переменные даты и времени SAS хранятся в SAS в виде числовых данных. Таким образом, все переменные, которые могут быть отформатированы как даты, сохраняются одинаково ... как число.

ВВ вашем примере, чтобы сделать X датой

x='05OCT2011'd;

, вы можете отформатировать ее в любом формате даты.

xnew = put(x, date11.);

Если x равно '05 / 10/2011', вы можете преобразовать символ var в числовое значение

xnew = input(x, mmddyy10.);

Также date11.является действительным форматом даты.

...