Jak przekonwertować datetime na datę w sas


Najłatwiejszym sposobem przekonwertowania daty/godziny na datę w SAS-ie jest użycie funkcji DATEPART .

Ta funkcja wykorzystuje następującą podstawową składnię:

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

Argument mddyy10. określa, że data powinna być w formacie 15.10.2022.

Poniższy przykład pokazuje, jak zastosować tę składnię w praktyce.

Przykład: Konwertuj datę i godzinę na datę w SAS-ie

Załóżmy, że mamy następujący zestaw danych w SAS-ie, który zawiera kolumnę dat i godzin:

 /*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; 

Poniższy kod pokazuje, jak wykorzystać funkcję DATEPART do utworzenia nowego zbioru danych, w którym wartości w kolumnie datetime są sformatowane jako daty w różnych formatach:

 /*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; 

Należy zauważyć, że w czterech nowych kolumnach data z oryginalnej kolumny typu datetime jest wyświetlana w różnych formatach.

Domyślnie funkcja DATEPART konwertuje datę/godzinę na liczbę dni od 1 stycznia 1960 r.

Zatem nowa kolumna o nazwie date_default wyświetla liczbę dni od 1 stycznia 1960 dla każdej daty i godziny.

Uwaga : Pełną dokumentację funkcji SAS DATEPART można znaleźć tutaj .

Dodatkowe zasoby

Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania w SAS-ie:

Jak dodać dni do daty w SAS
Jak przekonwertować dotychczasową zmienną numeryczną w SAS-ie
Jak obliczyć różnicę między dwiema datami w SAS-ie

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *