sas date - 将today()转换为yyyymmdd格式
题
如何将SAS日期(例如" 30JUL2009" d
)转换为 YYYYMMDD
格式(例如20090730)?
例如:
data _null_;
format test ?????;
test=today();
put test=;
run;
会给我“test = 20090730”在日志......
解决方案
data _null_;
format test yymmddn8.;
test=today();
put test=;
run;
其他提示
%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表示斜杠。
这是我在宏中的方式,但肯定必须有格式?? !!!
%let today=%sysfunc(compress(%sysfunc(today(),yymmddd10.),'-'));
它很奇怪 - INFORMAT yymmdd8。给出YYYYMMDD结果,而FORMAT yymmdd8。给出YY-MM-DD结果!!
还有一个应该做的伎俩
%let today=%sysfunc(today(),yymmddn8.);
%put &today.;
以下链接中的所有内容
当您在“索引”标签中输入“日期”,然后选择“日期和时间格式”
时,您可以在“帮助”标签中查看所有日期和时间格式不隶属于 StackOverflow