Como converter datetime em data no sas


A maneira mais fácil de converter uma data/hora em data no SAS é usar a função DATEPART .

Esta função usa a seguinte sintaxe básica:

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

O argumento mddyy10. especifica que a data deve estar no formato 15/10/2022.

O exemplo a seguir mostra como usar essa sintaxe na prática.

Exemplo: converter data e hora em data no SAS

Digamos que temos o seguinte conjunto de dados no SAS que contém uma coluna de datas e horas:

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

O código a seguir mostra como usar a função DATEPART para criar um novo conjunto de dados no qual os valores na coluna datetime são formatados como datas com formatos diferentes:

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

Observe que as quatro novas colunas exibem a data da coluna datetime original em formatos diferentes.

Por padrão, a função DATEPART converte uma data/hora no número de dias desde 1º de janeiro de 1960.

Portanto, a nova coluna chamada date_default exibe o número de dias desde 1º de janeiro de 1960 para cada data e hora.

Nota : Você pode encontrar a documentação completa da função SAS DATEPART aqui .

Recursos adicionais

Os tutoriais a seguir explicam como executar outras tarefas comuns no SAS:

Como adicionar dias atualizados no SAS
Como converter uma variável numérica para data no SAS
Como calcular a diferença entre duas datas no SAS

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *