Як перетворити datetime на дату в sas


Найпростіший спосіб перетворити дату/час на дату в SAS — це використовувати функцію DATEPART .

Ця функція використовує такий базовий синтаксис:

 date = put ( datepart (some_datetime), mmddyy10. );

Аргумент mddyy10. вказує, що дата має бути у форматі 15.10.2022.

У наступному прикладі показано, як використовувати цей синтаксис на практиці.

Приклад: перетворення Datetime на Date у SAS

Припустімо, у SAS є такий набір даних, який містить стовпець дат і часу:

 /*create dataset*/
data original_data;
    format some_datetime datetime23.;
    input some_datetime:datetime23.;
    datalines ;
14OCT2022:0:0:0
09NOV2022:0:0:0
14NOV2022:0:0:0
15NOV2022:0:0:0
22DEC2022:0:0:0
24DEC2022:0:0:0
04JAN2023:0:0:0
;
run ;

/*view dataset*/
proc print data = original_data; 

У наступному коді показано, як за допомогою функції DATEPART створити новий набір даних, у якому значення в стовпці datetime відформатовано як дати з різними форматами:

 /*create new dataset with datetime formatted as date*/
data new_data;
set original_data;
    date_mmddyyyy = put ( datepart (some_datetime), mmddyy10.);
    date_yyyymmdd = put ( datepart (some_datetime), yymmdd10.);
    date_date9 = put ( datepart (some_datetime), date9.);
    date_default = datepart (some_datetime);
run ;

/*view new dataset*/
proc print data = new_data; 

Зауважте, що чотири нові стовпці відображають дату з вихідного стовпця datetime у різних форматах.

За замовчуванням функція DATEPART перетворює дату/час на кількість днів з 1 січня 1960 року.

Отже, новий стовпець під назвою date_default відображає кількість днів з 1 січня 1960 року для кожної дати й часу.

Примітка . Ви можете знайти повну документацію для функції SAS DATEPART тут .

Додаткові ресурси

У наступних посібниках пояснюється, як виконувати інші типові завдання в SAS:

Як додати дні до дати в SAS
Як перетворити числову змінну на дату в SAS
Як обчислити різницю між двома датами в SAS

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *