Come convertire datetime fino ad oggi in sas
Il modo più semplice per convertire una data/ora in una data in SAS è utilizzare la funzione DATEPART .
Questa funzione utilizza la seguente sintassi di base:
date = put ( datepart (some_datetime), mmddyy10. );
L’ argomento mddyy10. specifica che la data deve essere nel formato 15/10/2022.
L’esempio seguente mostra come utilizzare questa sintassi nella pratica.
Esempio: convertire Datetime in data in SAS
Supponiamo di avere il seguente set di dati in SAS che contiene una colonna di date e orari:
/*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;
Il codice seguente mostra come utilizzare la funzione DATEPART per creare un nuovo set di dati in cui i valori nella colonna datetime sono formattati come date con formati diversi:
/*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;
Tieni presente che le quattro nuove colonne visualizzano la data della colonna datetime originale in formati diversi.
Per impostazione predefinita, la funzione DATEPART converte una data/ora nel numero di giorni trascorsi dal 1 gennaio 1960.
Pertanto la nuova colonna denominata date_default visualizza il numero di giorni dal 1 gennaio 1960 per ogni data/ora.
Nota : è possibile trovare la documentazione completa per la funzione SAS DATEPART qui .
Risorse addizionali
I seguenti tutorial spiegano come eseguire altre attività comuni in SAS:
Come aggiungere giorni fino ad oggi in SAS
Come convertire una variabile numerica fino ad oggi in SAS
Come calcolare la differenza tra due date in SAS