/**********************************************************************/ /* Example 1 - Creating a SAS date from a numeric value */ data one; x=122595; charx=put(x,z6.); datex=input(charx,mmddyy6.); run; proc print; format datex mmddyy10.; run; /**********************************************************************/ /* Example 2 - Storing the calendar date of a SAS date in a */ /* variable */ data one; x='25dec95'd; new1=put(x,monyy7.); new2=put(x,weekdate17.); run; proc print; run; /**********************************************************************/ /* Example 3 - Computing the week of the year for a SAS date */ data one; input date date7.; weekofyr=intck('week',intnx('year',date,0),date)+1; cards; 01mar94 15jan95 ; run; proc print; format date date7.; run; /**********************************************************************/ /* Example 4 - Computing a person's age */ data birth; input name $ bday date9.; cards; Joe 02sep1985 John 31jan1993 Amy 16jan1984 Susan 12feb1967 Michael 14nov1975 Lee 04jul1990 Sally 27apr91 ; data ages; set birth; current=today(); format current bday worddate20.; age=int(intck('month',bday,current)/12); if month(bday)=month(current) then age=age-(day(bday)>day(current)); run; /**********************************************************************/ /* Example 5 - Changing formats of time values to be in */ /* using TIMEw. */ data time1; input timechar $11.; cards; 55.34 10:00:00.45 5:23.77 7:22:45.45 ; proc format; picture tme other='99:99:99.99' ; run; data time2(drop=tmp1 tmp2); format sastime time11.2; set time1; tmp1=compress(timechar,':'); tmp2=put(input(tmp1,11.2),tme.); sastime=input(tmp2,time11.); run; /**********************************************************************/ /* Example 6 - Reading time values with 'AM' and 'PM' in the */ /* time */ data one(drop=check); input timeval $10.; check=indexc(timeval,'a','p'); newtime=input(substr(timeval,1,check-1),time8.); if substr(timeval,check,1)='p' then newtime=newtime+43200; format newtime time8.; cards; 10:25:10am 3:30:30pm 8:13:00am 10:15:00pm ; run; /**********************************************************************/ /* Example 7 - Creating a SAS datetime value from a SAS date */ /* and time */ data one; input strtdt mmddyy8. strttm time.; cards; 01/01/96 10:23:35 06/21/95 12:30:00 07/06/95 07:15:22 04/27/96 17:35:42 ; data two; set one; datetm=dhms(strtdt,0,0,strttm); format strtdt mmddyy8. strttm time8. datetm datetime.; run; /**********************************************************************/