jueves, 25 de julio de 2013

Tratamiento de fechas en SAS (II)

Incluímos otro sencillo ejemplo de tratamiento de fechas. En este ejemplo se obtiene la fecha del sistema, y la fecha inmediatamente anterior y posterior, igualmente se obtiene el día de la semana.

data _null_;
   length dia_sem_hoy $10.;
   format fecha_hoy fecha_ant fecha_pos yymmddn8. ; /* date formats */
   f_hoy="&sysdate"d;
   f_ant=sum(f_hoy,-1);
   f_pos=sum(f_hoy,+1);
   fecha_hoy = input(put(f_hoy,yymmddn8.),8.);
   fecha_ant = input(put(f_ant,yymmddn8.),8.);
   fecha_pos = input(put(f_pos,yymmddn8.),8.);
   dia_s_hoy = weekday(f_hoy);
   select(dia_s_hoy);
  when (1) dia_sem_hoy = 'Domingo';
when (2) dia_sem_hoy = 'Lunes';
when (3) dia_sem_hoy = 'Martes';
when (4) dia_sem_hoy = 'Miercoles';
when (5) dia_sem_hoy = 'Jueves';
when (6) dia_sem_hoy = 'Viernes';
when (7) dia_sem_hoy = 'Sábado';
   end;
   call symput('fecha_hoy',fecha_hoy);
   call symput('dia_sem_hoy',dia_sem_hoy);
   call symput('fecha_ant',fecha_ant);
   call symput('fecha_pos',fecha_pos);
run;

%put fecha actual: &dia_sem_hoy &fecha_hoy, fecha anterior: &fecha_ant, fecha posterior: &fecha_pos;

No hay comentarios:

Publicar un comentario