sas date - convierte today () en formato aaaammdd
Pregunta
¿Cómo convierto una fecha SAS como " 30JUL2009 " d
al formato YYYYMMDD
(por ejemplo, 20090730)?
Entonces, por ejemplo:
data _null_;
format test ?????;
test=today();
put test=;
run;
Me daría " prueba = 20090730 " en el registro ...
Solución
data _null_;
format test yymmddn8.;
test=today();
put test=;
run;
Otros consejos
%let expectdate1=%sysfunc(putn(%eval(%sysfunc(today())-1),yymmddn8.));
Quieres usar el formato yymmddn8. La 'n' significa sin separador .
Por http://support.sas.com/kb/24/610.html puede especificar B para blanco, C para dos puntos, D para guión, N para no separador, P para período o S para barra diagonal.
así es como lo hice en macro, pero seguramente debe haber un formato ?? !!!
%let today=%sysfunc(compress(%sysfunc(today(),yymmddd10.),'-'));
es raro - el INFORMAT yymmdd8. da el resultado AAAAMMDD, mientras que el FORMATO yymmdd8. da un resultado YY-MM-DD !!
Hay uno que también debería hacer el truco
%let today=%sysfunc(today(),yymmddn8.);
%put &today.;
Todo en el enlace de abajo
Puede ver todos los formatos de fecha y hora en la pestaña Ayuda cuando ingresa 'fecha' en la pestaña Índice y luego selecciona 'formatos de fecha y hora'