楼主: xiaoxiahu0571
1464 4

[原创博文] 关于时间函数 [推广有奖]

  • 0关注
  • 0粉丝

本科生

86%

还不是VIP/贵宾

-

威望
0
论坛币
3 个
通用积分
0
学术水平
3 点
热心指数
3 点
信用等级
1 点
经验
792 点
帖子
53
精华
0
在线时间
162 小时
注册时间
2009-10-19
最后登录
2017-1-24

楼主
xiaoxiahu0571 发表于 2010-9-14 11:19:40 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
求问:
sas里哪个函数能算出一个月有多少天数啊?
格式如200808,
谢谢
二维码

扫码加我 拉你入群

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

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


沙发
soporaeternus 发表于 2010-9-14 11:27:31
  1. data _null_;
  2.         do i=1 to 24 by 1;
  3.                 date=intnx("MONTH","01Jan2008"d,i-1);
  4.                 str=put(date,yymmn6.);
  5.                 ndays=intnx("MONTH",input(str,yymmn6.),0,"END")-intnx("MONTH",input(str,yymmn6.),0,"BEGINNING")+1;
  6.                 put str= ndays=;
  7.         end;
  8. run;
复制代码
很繁琐......
期待好办法
Let them be hard, but never unjust

藤椅
xiaoxiahu0571 发表于 2010-9-14 11:28:55
我也是这么写的,以为有个函数可以直接解决的,期待简单方法

板凳
pobel 在职认证  发表于 2010-9-14 17:39:38
proc format;
    invalue days "01","03","05","07","08","10","12"=31
                             "04","06","09","11"=30
                             "02"=28;
run;

data test;
    input yymm $;
        cards;
200808
200802
200002
201002
198712
200304
;

data wanted;
     set test;
    y=substr(yymm,1,4);
    m=substr(yymm,5);
    d=input(m,days.);
    if mod(y,400)=0  or (mod(y,4)=0 and mod(y,100)^=0) then d=ifn(m="02",d+1,d);
run;
已有 1 人评分学术水平 热心指数 收起 理由
soporaeternus + 1 + 1 学习了

总评分: 学术水平 + 1  热心指数 + 1   查看全部评分

和谐拯救危机

报纸
pobel 在职认证  发表于 2010-9-15 07:03:39
proc format;
    invalue days "01","03","05","07","08","10","12"=31
                             "04","06","09","11"=30
                             "02"=28;
run;

data test;
    input yymm $;
        cards;
200808
200802
200002
201002
198712
200304
;

data wanted;
     set test;
    y=substr(yymm,1,4);
    m=substr(yymm,5);
    d=input(m,days.);
    if m="02" and (mdy(12,31,y)-mdy(1,1,y)+1=366) then d=d+1;
run;
和谐拯救危机

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-3 08:52