SAS中文论坛

标题: 取系统昨天和今天的时间 [打印本页]

作者: shiyiming    时间: 2004-2-11 09:37
标题: 取系统昨天和今天的时间
大侠们,帮我看看,取系统昨天的时间还有没有简单一点的方法??
data _null_;
        
        call symput("yesterday",%sysfunc(compress(%sysfunc(putn(%sysfunc(intnx(day,%sysfunc(date()),-1)),yymmdd10.)),-))||'180000');
            call symput("today",compress(put(date(),yymmdd10.),"-")||'180000');
    run;
作者: shiyiming    时间: 2004-2-11 10:19
I did not get your point, but I think the following will do exact whatever you intended to do.

data  _null_;
today=date();
yesterday=today-1;
time='180000';
call symput('today',put(today,yymmddn8.)||time);
call symput('yesterday',put(yesterday,yymmddn8.)||time);
run;
作者: shiyiming    时间: 2004-2-11 12:02
照楼上得算法可简写成:
%let today=%sysfunc(compress(%sysfunc(putn(%sysfunc(date()),yymmdd10.))180000,-));

%let yesterday=%sysfunc(compress(%sysfunc(putn(%eval(%sysfunc(date())-1),yymmdd10.))180000,-));

%put yesterday=&yesterday today=&today;

注意Data step中用%sysfunc是不必的啦
作者: shiyiming    时间: 2004-2-11 12:52
谢谢jimmy,用data _null_,好像不能把时间参数传到proc sql 中,还是要用let,比较好。同样也谢谢二楼的。
作者: shiyiming    时间: 2004-2-11 13:20
[quote="apan":207cd]谢谢jimmy,用data _null_,好像不能把时间参数传到proc sql 中,还是要用let,比较好。同样也谢谢二楼的。[/quote:207cd]

为什么不能传到proc sql?

当然Jimmy的方法简洁些。




欢迎光临 SAS中文论坛 (http://mysas.net/forum/) Powered by Discuz! X3.2