Comment convertir une date SAS telle que "30JUL2009"d
au format YYYYMMDD
(par exemple, 20090730)?
Donc par exemple:
data _null_;
format test ?????;
test=today();
put test=;
run;
Me donnerait "test = 20090730" dans le journal ...
data _null_;
format test yymmddn8.;
test=today();
put test=;
run;
%let expectdate1=%sysfunc(putn(%eval(%sysfunc(today())-1),yymmddn8.));
Vous voulez utiliser le format yymmddn8. Le 'n' signifie pas de séparateur.
Per http://support.sas.com/kb/24/610.html vous pouvez spécifier B pour un blanc, C pour un point, D pour un tiret, N pour aucun séparateur, P pour un point ou S pour un barre .
Il y a celui-là qui devrait faire l'affaire aussi
%let today=%sysfunc(today(),yymmddn8.);
%put &today.;
Tout sur le lien ci-dessous
voici comment je l'ai fait en macro, mais il doit sûrement y avoir un format ?? !!!
%let today=%sysfunc(compress(%sysfunc(today(),yymmddd10.),'-'));
c'est bizarre - l'INFORMAT yymmdd8. donne le résultat AAAAMMJJ, alors que le FORMAT yymmdd8. donne un résultat AA-MM-JJ !!
Vous pouvez voir tous les formats de date et d'heure dans l'onglet Aide lorsque vous entrez "date" dans l'onglet Index, puis sélectionnez "Formats de date et d'heure"