sas date-convert today () em formato AAAAMMDD

como converter uma data SAS como "30JUL2009"d Para YYYYMMDD formato (eg 20090730)?

Por exemplo:
data _null_;
  format test ?????;
  test=today();
  put test=;
run;

Dar-me-ia "teste=20090730" no diário de bordo...

Author: andrey_sz, 2009-07-30

5 answers

data _null_;
    format test yymmddn8.;
    test=today();
    put test=;
run;

YYMMDDxw. documentação

 22
Author: adam, 2017-08-09 16:53:06
%let expectdate1=%sysfunc(putn(%eval(%sysfunc(today())-1),yymmddn8.));

Queres usar o formato yymmddn8. O " n " significa sem separador .

Por http://support.sas.com/kb/24/610.html Você pode indicar B para branco, C para cólon, D para traço, N para nenhum separador, P para o período, Ou S para barra.

 13
Author: , 2009-08-07 19:41:39
Eis como o fiz em macro, mas certamente deve haver um formato??!!!
%let today=%sysfunc(compress(%sysfunc(today(),yymmddd10.),'-'));
É estranho, o informante yymmdd8. dá resultado AAAAMMDD, enquanto o formato yymmdd8. dá um resultado YY-MM-DD!!
 2
Author: Allan Bowe, 2009-07-30 14:57:55
Há um que também deve fazer o truque.
%let today=%sysfunc(today(),yymmddn8.);
%put &today.;

Tudo no link abaixo

Https://communities.sas.com/thread/60111

 2
Author: Andy K, 2014-08-05 12:46:18

Poderá ver todos os formatos de data e hora na página de Ajuda quando introduzir 'data' na página de índice e depois seleccionar 'formatos de data e hora'

 0
Author: andrey_sz, 2013-11-11 11:29:06