SAS intnx函数处理时间

就是从某个时间点开始,间隔一段时间后,的时间是多少

比如:

intnx('month', '15mar2000'd, 5, 'same');  returns 15AUG2000

就是从12mar开始,间隔五个月,返回15aug

same:返回interval后那个时段,begining interval和初始时间点相同的day/month/year/week等。

比如

data a;
    format today a b c d date9.;
    today =  '04jan2022'd; *周二;
    a = intnx('week', '04jan2022'd, 1, 'same');*周二;
    b = intnx('week', '04jan2022'd, 1, 'begin');*周日,周日是一周的开始;
    c = intnx('week', '04jan2022'd, 1, 'end');*周六;
    d = intnx('week', '04jan2022'd, 1, 'mid');*周三;
run;

 

 

 

 常用的就是day/week/month/year

需要注意下的interval,

intnx('year', '29feb2000'd, 2, 'same');   returns 28FEB2002
intnx('month', '31aug2001'd, 1, 'same');  returns 30SEP2001

最后一种情况写end,效果也完全相同。

可以利用这类函数填充日期,比如填充到当月最后一天

posted @ 2022-01-04 22:48  Iving  阅读(1475)  评论(0编辑  收藏  举报