sas date - converti oggi () nel formato yyyymmdd
Domanda
Come posso convertire una data SAS come " 30JUL2009 " d
nel formato YYYYMMDD
(ad es. 20090730)?
Ad esempio:
data _null_;
format test ?????;
test=today();
put test=;
run;
Mi darebbe " test = 20090730 " nel registro ...
Soluzione
data _null_;
format test yymmddn8.;
test=today();
put test=;
run;
Altri suggerimenti
%let expectdate1=%sysfunc(putn(%eval(%sysfunc(today())-1),yymmddn8.));
Si desidera utilizzare il formato yymmddn8. 'N' significa nessun separatore .
Per http://support.sas.com/kb/24/610.html puoi specificare B per il bianco, C per i due punti, D per il trattino, N per nessun separatore, P per punto o S per barra.
ecco come l'ho fatto in macro, ma sicuramente deve esserci un formato ?? !!!
%let today=%sysfunc(compress(%sysfunc(today(),yymmddd10.),'-'));
è strano - INFORMAT yymmdd8. dà il risultato AAAAMMGG, mentre FORMATO yymmdd8. dà un risultato AA-MM-GG !!
Ce n'è uno che dovrebbe fare anche il trucco
%let today=%sysfunc(today(),yymmddn8.);
%put &today.;
Tutto sul link qui sotto
Puoi visualizzare tutti i formati di data e ora nella scheda Guida quando inserisci "data" nella scheda Indice e quindi selezioni "formati di data e ora"