作者alias (希望)
看板Statistics
标题Re: [问题] 有关SAS生日转年龄的语法
时间Wed Jul 26 21:06:42 2006
※ 引述《naif (..)》之铭言:
: 请问一下,
: 我的输入资料 id_brithday
: 我将其设完一般数字资料
: 一共八码
: 19991109 这样输入,
: 我想要换算成年龄,
: 试了好几个语法都不成功,
: 不知道有没有人知道怎麽写!
: 在网路上看到一个资料
: 实例 /*出生资料的读入(民国五十年四月十二日出生,现在年龄为何*/
: DATA aa;
: INPUT birthday ; /*以一般数字读入*/
: bir=input(put(birthday,6.),yymmdd6.);
: age= (DATE() - birthday) /365.25;
: CARDS;
: 610412
: ;
: DATA aa;
: INPUT birthday yymmdd6.; /*以西元日期格式读入*/
: age= (DATE() - bir) /365.25;
: CARDS;
: 610412
: ;
: 但我不知道该怎麽转换成我的档案可以的程式语法!
: 麻烦各位高手了!
DATA aa;
INPUT birthday;
bir=INPUT(PUT(birthday, 8.),YYMMDD8.);
age=INTCK('DAY',bir,DATE())/365;
CARDS;
19991109
;
RUN;
INTCK 是用来计算时间间格的函数, 第一个引数是时间单位 有天 月 年可选
(DAY MONTH YEAR)
第二个引数 为起始时间 第三个引数为结束时间
DATE() 是显示现在日期?....这我保留,现在不敢确定
不过, 应该有给到足够的线索吧
若有错误欢迎赐教指正
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 125.231.85.185
1F:→ alias:确认了,DATE() 为显示程式执行日的日期 07/27 09:06
2F:推 naif:谢谢你唷^^ 我测试看看!如果我想要以某一天为基准来算的话 07/27 13:57
3F:→ naif:可以在DATE里面加日期吗? 07/27 13:58