SAS中文论坛

 找回密码
 立即注册

扫一扫,访问微社区

查看: 939|回复: 3
打印 上一主题 下一主题

【新手】SAS 日期相差问题

[复制链接]

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
楼主
 楼主| 发表于 2012-5-10 14:25:52 | 只看该作者

【新手】SAS 日期相差问题

怎么算两个日期相差多少小时呢?- -!

时间a '01JAN2012'd  '0935'  09是小时 35是分钟
时间b '02JAN2012'd  '0804'
日期和小时分钟是分开两个变量

求ab相差的小时数,谢谢~(┬_┬)
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
沙发
 楼主| 发表于 2012-5-12 09:06:40 | 只看该作者

Re: 【新手】SAS 日期相差问题

[code:2sw1isit]data temp;
input a date11. b $14-17;
c=input((put(a, date9.)||':'||substr(b, 1, 2)||':'||substr(b, 3, 2)||':00'), datetime.);
put c datetime.;
hourdiff=intck('hour', lag(c), c);
datalines;
'01JAN2012'd 0935
'02JAN2012'd 0804
;
run;[/code:2sw1isit]
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
板凳
 楼主| 发表于 2012-5-12 23:32:03 | 只看该作者

Re: 【新手】SAS 日期相差问题

借鉴了shiyiming的思想,给出如下代码,供参考。

data ads;
input a date11. b $14-17;
c=dhms(a,substr(b,1,2),substr(b,3,2),00);
put c datetime.;
hourdiff=intck('hour', lag(c), c);
datalines;
'01JAN2012'd 0935
'02JAN2012'd 0804
;
run;
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
地板
 楼主| 发表于 2012-5-13 09:10:19 | 只看该作者

Re: 【新手】SAS 日期相差问题

MerlinZHOU的改进好,效率提高了。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-9 03:04 , Processed in 0.079161 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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