sas Datum - konvertiert heute () in yyyymmdd Format
Frage
Wie konvertiere ich ein SAS-Datum wie "30JUL2009"d
in YYYYMMDD
Format (zB 20090730)?
So zum Beispiel:
data _null_;
format test ?????;
test=today();
put test=;
run;
Würde geben Sie mir "test = 20090730" im Protokoll ...
Lösung
data _null_;
format test yymmddn8.;
test=today();
put test=;
run;
Andere Tipps
%let expectdate1=%sysfunc(putn(%eval(%sysfunc(today())-1),yymmddn8.));
Sie wollen das Format yymmddn8 verwenden. Die 'n' bedeutet kein Trenn .
http://support.sas.com/kb/24/610.html B für leere, C für Darm-, D für Strich, N für kein Separator, P für die Periode oder S für Slash angeben können.
hier ist, wie ich tat es in Makro, aber sicher muss ein Format sein ?? !!!
%let today=%sysfunc(compress(%sysfunc(today(),yymmddd10.),'-'));
seine seltsam - die INFORMAT yymmdd8. YYYYMMDD gibt Ergebnis, während die FORMAT yymmdd8. gibt ein YY-MM-DD Ergebnis !!
Es ist dies eine, die auch den Trick tun sollte
%let today=%sysfunc(today(),yymmddn8.);
%put &today.;
Alles auf dem Link unten
Sie können alle Datums- und Zeitformate in Registerkarte Hilfe sehen, wenn Sie ‚Datum‘ auf Registerkarte Index ein und wählen Sie dann ‚Datums- und Zeitformate‘