sas date - converti aujourd'hui () au format aaaammjj
Question
Comment convertir une date SAS telle que "30JUL2009" d
au format YYYYMMDD
(par exemple 20090730)?
Ainsi, par exemple:
data _null_;
format test ?????;
test=today();
put test=;
run;
Me donnerait " test = 20090730 " dans le journal ...
La solution
data _null_;
format test yymmddn8.;
test=today();
put test=;
run;
Autres conseils
%let expectdate1=%sysfunc(putn(%eval(%sysfunc(today())-1),yymmddn8.));
Vous souhaitez 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 signe deux-points, D pour un tiret, N pour aucun séparateur, P pour un point ou S pour une barre oblique.
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 !!
Il y en a un qui devrait faire l'affaire aussi
%let today=%sysfunc(today(),yymmddn8.);
%put &today.;
Tout sur le lien ci-dessous
Vous pouvez voir tous les formats de date et heure dans l'onglet Aide lorsque vous entrez "date" dans l'onglet Index, puis sélectionnez "Formats de date et heure"