年份和时间格式“ddmmmyyyy”

时间:2015-10-08 13:34:10

标签: sas

我在SAS中有一个变量,具有特定年份,称为“年”,以及一年中指定的一周,“周”。基于此,我想创建一个时间变量“ddmmmyyyy”,其中dd应始终为01.

感谢。

2 个答案:

答案 0 :(得分:0)

我认为INTCK是一种合理的方法。

24         data _null_;
25            do year = 2015;
26               ref = mdy(01,01,year);
27               do week = 0,1 to 50 by 5,52;
28                  week_starts = intnx('WEEK',ref,week,'B');
29                  week_ends   = intnx('WEEK',ref,week,'E');
30                  put (week year ref week_:)(2*=best. 3*=date9.);
31                  end;
32               end;
33            run;

week=0 year=2015 ref=01JAN2015 week_starts=28DEC2014 week_ends=03JAN2015
week=1 year=2015 ref=01JAN2015 week_starts=04JAN2015 week_ends=10JAN2015
week=6 year=2015 ref=01JAN2015 week_starts=08FEB2015 week_ends=14FEB2015
week=11 year=2015 ref=01JAN2015 week_starts=15MAR2015 week_ends=21MAR2015
week=16 year=2015 ref=01JAN2015 week_starts=19APR2015 week_ends=25APR2015
week=21 year=2015 ref=01JAN2015 week_starts=24MAY2015 week_ends=30MAY2015
week=26 year=2015 ref=01JAN2015 week_starts=28JUN2015 week_ends=04JUL2015
week=31 year=2015 ref=01JAN2015 week_starts=02AUG2015 week_ends=08AUG2015
week=36 year=2015 ref=01JAN2015 week_starts=06SEP2015 week_ends=12SEP2015
week=41 year=2015 ref=01JAN2015 week_starts=11OCT2015 week_ends=17OCT2015
week=46 year=2015 ref=01JAN2015 week_starts=15NOV2015 week_ends=21NOV2015
week=52 year=2015 ref=01JAN2015 week_starts=27DEC2015 week_ends=02JAN2016

答案 1 :(得分:-2)

您需要将周转换为月,然后使用mdy()函数。

format new ddmmmyyyy.; **or try date.;
month=year*365+week*7-'1jan60'd;  **should be a sas date;
new=mdy(month(month),1,year);
相关问题