SAS日期 - 今日()转换为YYYYMMDD格式
问题描述:
如何转换为SAS日期,例如"30JUL2009"d
为YYYYMMDD
格式(如20090730)?SAS日期 - 今日()转换为YYYYMMDD格式
因此,例如:
data _null_;
format test ?????;
test=today();
put test=;
run;
能给我“考= 20090730”在日志中...
答
这里是我做到了在宏观,但肯定有一定的格式? !
%let today=%sysfunc(compress(%sysfunc(today(),yymmddd10.),'-'));
它的奇怪 - INFORMAT yymmdd8。给出YYYYMMDD结果,而FORMAT yymmdd8。给YY-MM-DD结果!!
答
%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代表斜杠。
答
你可以看到在帮助选项卡中所有的日期和时间格式,当你输入“日期”来索引选项卡,然后selecr“日期和时间格式”
答
有这一个应该做的伎俩太
%let today=%sysfunc(today(),yymmddn8.);
%put &today.;
一切以下链接
优秀的 - 不知道有关的分隔符选项 – 2009-07-31 08:13:33
嗯。也许我做错了什么,但格式适合我的是:format test yymmddn8 .; – pinegulf 2017-05-29 12:12:33
谢谢@pinegulf,我更新了答案。只花了8年的时间才有人抓住这个! – adam 2017-08-09 16:52:52