全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
2945 4
2013-02-17
各位大侠,请教一下,两列时间如何相减?现在好像是文本格式,是否需要转成数字格式?
紧急求助,YTIME 为年月日小时分钟,想得到两个时间的差值,以几天几小时就行,多谢各位,在线等待。
Book1.xls
大小:(15.5 KB)

 马上下载




YTIME

RTIME

相减

201301281600

201302010338

 

201301281600

201302010338

 

201301281600

201302010338

 


附件列表

Book1.xls

大小:16 KB

 马上下载

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2013-2-18 09:03:46
data want;
set have;
ytime_new=DHMS(MDY(SUBSTR(ytime,5,2),SUBSTR(ytime,7,2),SUBSTR(ytime,1,4)),SUBSTR(ytime,9,2),SUBSTR(ytime,11,2),0);
rtime_new=DHMS(MDY(SUBSTR(rtime,5,2),SUBSTR(rtime,7,2),SUBSTR(rtime,1,4)),SUBSTR(rtime,9,2),SUBSTR(rtime,11,2),0);
run;

另,时间间隔用INTCK函数即可,但只能计算日间隔或小时间隔,如果需要几天几小时,还要自己换算下。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-2-18 17:34:50
YTIME, RTIME 是字符格式的吧,把他们转化为时间格式,datetimeX.,具体请参看SAS帮助,然后可以直接相减吧。减下的结果用天,小时的格式表示出来,最后看需要转化为字符格式。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-2-20 10:57:51
我来补全,希望能抛砖引玉!
data time1;
   set time;
   ytime1=dhms(mdy(substr(ytime,5,2),substr(ytime,7,2),substr(ytime,1,4)),substr(ytime,9,2),substr(ytime,11,2),0);
   rtime1=dhms(mdy(substr(rtime,5,2),substr(rtime,7,2),substr(rtime,1,4)),substr(rtime,9,2),substr(rtime,11,2),0);
   days=int((rtime1-ytime1)/(60*60*24));
   hours=int((mod((rtime1-ytime1),(60*60*24))/(60*60)));
run;
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-2-20 11:22:01
luling2010 发表于 2013-2-20 10:57
我来补全,希望能抛砖引玉!
data time1;
   set time;
时间间隔可以直接用函数INTCK
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群