web-dev-qa-db-ja.com

sas date-今日()をyyyymmdd形式に変換します

SAS "30JUL2009"dなどの日付をYYYYMMDD形式(例:20090730)に変換するにはどうすればよいですか?

たとえば:

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

ログに「test = 20090730」と表示されます...

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

YYMMDDxw。ドキュメント

24
adam
%let expectdate1=%sysfunc(putn(%eval(%sysfunc(today())-1),yymmddn8.));

Yymmddn8形式を使用します。 「n」は、セパレータなしを意味します。

ごと http://support.sas.com/kb/24/610.html 空白にはB、コロンにはC、ダッシュにはD、セパレータなしにはN、ピリオドにはP、またはスラッシュのS。

13

トリックもするべきこれがあります

%let today=%sysfunc(today(),yymmddn8.);
%put &today.;

以下のリンクのすべて

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

2
Andy K

ここに私がマクロでそれをした方法があります、しかし確かにフォーマットがなければなりません?? !!!

%let today=%sysfunc(compress(%sysfunc(today(),yymmddd10.),'-'));

その奇妙な-INFORMAT yymmdd8。 YYYYMMDDの結果を返しますが、FORMAT yymmdd8です。 YY-MM-DDの結果が得られます!!

2
Allan Bowe

[インデックス]タブに「日付」と入力し、[日付と時刻の形式]を選択すると、[ヘルプ]タブにすべての日付と時刻の形式が表示されます

0
andrey_sz