全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
18179 3
2013-03-26
sas  判断一个时间日期是一年的第几周,和一个月的第几周
二维码

扫码加我 拉你入群

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

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

全部回复
2013-3-26 17:07:50
复制代码
这个是SAS的算法,我想你的算法可能不太一样,你还要用到函数weekday(),结合上面程序
二维码

扫码加我 拉你入群

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

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

2013-3-27 08:31:46
周数直接可以用WEEK,这个函数应该需要9.1及以上的版本才能用
这个周数是取到一年的第几周,而且还有几种可选项,用于划定一年的第一周从哪天开始

另一个月的第几周的话,用当天的周数减去月初第一天的周数应该就可行了
细节问题还是一个月的第一周从哪天开始算起,这个需要特别考虑
二维码

扫码加我 拉你入群

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

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

2013-3-27 12:27:41
可以看看这个:


MDY(m,d,yr) 生成yr年m月d日的SAS日期值            
YEAR(date) 由SAS日期值date得到年            
MONTH(date) 由SAS日期值date得到月            
DAY(date) 由SAS日期值date得到日            
WEEKDAY(date) 由SAS日期值date得到星期几            
QTR(date) 由SAS日期值date得到季度值            
HMS(h,m,s) 由小时h、分钟m、秒s生成SAS时间值            
DHMS(d,h,m,s) 由SAS日期值d、小时h、分钟m、秒s生成SAS日期时间值            
DATEPART(dt) 求SAS日期时间值dt的日期部分           
INTNX(interval,from,n) 计算从from开始经过n个in间隔后的SAS日期。其中interval 可以取'YEAR'、'QTR'、'MONTH'、'WEEK'、'DAY'等。            
    比如,INTNX('MONTH', '16Dec1997'd, 3)结果为1998年3月1日。注意它总是返回一个周期的开始值。      
INTCK(interval,from,to) 计算从日期from到日期to中间经过的interval间隔的个数,其中interval取'MONTH'等。比如,INTCK('YEAR', '31Dec1996'd, '1Jan1998'd)   
    计算1996年12 月31日到1998年1月1日经过的年间隔的个数,结果得2,尽管这两个日期之间实际只隔1年。        
其它日期和时间函数还有DATE、TODAY、DATETIME、DATEJUL、JULDATE、HOUR、MINUTE、SECOND 、TIME、TIMEPART等。
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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