全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
4433 3
2009-03-05

拜托各位大侠:

变量tdate

       19970331

        19970401

         ....

tdate的属性为numeric format 11. informat11.

现在不能直接减,因为想要得出只差1天的结果,但是数值型会差70,现在想要计算两个日期之间的差该怎么算阿!

很急很急!

多谢各位!

[em06][em06]
二维码

扫码加我 拉你入群

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

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

全部回复
2009-3-5 21:43:00

是不是这样?

data m;
input @1 x yymmdd8. @10 y yymmdd8.;
days=y-x;
cards;
19970331 19970401
;
d=intck('days',t1,t2);
run;
proc print;run;

二维码

扫码加我 拉你入群

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

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

2009-3-6 09:59:00
 ndate = INPUT(tdate,yymmdd8.) 
 
二维码

扫码加我 拉你入群

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

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

2009-3-10 00:22:00

呵呵,谢谢。我碰到的问题特别有意思。我从excel导入的文件,首发日期是字符型,就可以用二楼的方法直接转为日期型。

但是另外一个交易日本身是数据型,需要先转为字符型,然后再转为日期型。这时候就只能是ndate=(date,yymmdd8.)或者yymmddz8.或yymmdd$8.

如果变成yymmdd16.输出缺失值,如果是yymmdd10.就是负值。呵呵,真是很神奇啊。

二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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