SAS中文论坛

 找回密码
 立即注册

扫一扫,访问微社区

查看: 1228|回复: 4
打印 上一主题 下一主题

取系统昨天和今天的时间

[复制链接]

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
楼主
 楼主| 发表于 2004-2-11 09:37:26 | 只看该作者

取系统昨天和今天的时间

大侠们,帮我看看,取系统昨天的时间还有没有简单一点的方法??
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;
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
沙发
 楼主| 发表于 2004-2-11 10:19:47 | 只看该作者
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;
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
板凳
 楼主| 发表于 2004-2-11 12:02:16 | 只看该作者
照楼上得算法可简写成:
%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是不必的啦
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
地板
 楼主| 发表于 2004-2-11 12:52:50 | 只看该作者
谢谢jimmy,用data _null_,好像不能把时间参数传到proc sql 中,还是要用let,比较好。同样也谢谢二楼的。
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
5#
 楼主| 发表于 2004-2-11 13:20:35 | 只看该作者
[quote="apan":207cd]谢谢jimmy,用data _null_,好像不能把时间参数传到proc sql 中,还是要用let,比较好。同样也谢谢二楼的。[/quote:207cd]

为什么不能传到proc sql?

当然Jimmy的方法简洁些。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|Archiver|SAS中文论坛  

GMT+8, 2025-1-7 12:29 , Processed in 0.234733 second(s), 22 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表