How to convert a given date value into SAS date
Answers were Sorted based on User's Feedback
Answer / ranjith
we can store date values using date format
(ex:date9.,ddmmyyyy10.)
| Is This Answer Correct ? | 32 Yes | 3 No |
Answer / arish kumar
e.g the date is '05/09/2007'
we can use the input function to convert this string into SAS date i.e.
date='05/09/2007'
sasdate=input(date,mmddyy10.);
Also, we can use mdy function.For this first use substr function.
m=substr(date,4,2);
d=substr(date,1,2);
y=substr(date,7,4);
sasdate=mdy(m,d,y);
| Is This Answer Correct ? | 21 Yes | 3 No |
Answer / vipin choudhary
We can read the date value with the help of date informats.
Say we have the date 09/13/2008.
Now if we want SAS to read this date, we will use the date
informat in the input statement like
"input date mmddyy10."
SAS will store this date in the numerical form as the
number of days passed from 1st january, 1960.
| Is This Answer Correct ? | 12 Yes | 3 No |
Answer / geoffrey brent
If you don't know in advance how the date will be
formatted, you can use the ANYDTDTE. informat. This will
extract a SAS date from most date/date-time formats.
(Warning: ANYDTDTE doesn't fully support day-month-year
ordering, even if you have this set as your system
preference, but it still copes with most DMY-formatted
dates.)
| Is This Answer Correct ? | 9 Yes | 1 No |
Answer / komal
For example if we have a date="14/12/2008".
you have to input it first and the format it like
date1=input(date,ddmmyy10.);
format date1 ddmmyy10.;
run;
| Is This Answer Correct ? | 8 Yes | 1 No |
Answer / srinivas krishnan
in sas :: we can store like this `12-07-2009`d
| Is This Answer Correct ? | 5 Yes | 1 No |
Answer / vinay
/*let date is '10/07/1985'/*
/*SAS CODING*/
data date;
input date $;
Var_Date=input(date,mmddyy10.);/*Apply format within input
function to convert text value to number value*/
/*now extract value of month,date and year through date
functions*/
m=substr(Var_Date,4,2);
d=substr(Var_Date,1,2);
y=substr(Var_Date,7,4);
sasdate=mdy(m,d,y);
cards;
10/07/1985
;
run;
proc print dtat=date;
run;
| Is This Answer Correct ? | 2 Yes | 0 No |
Answer / sheetal
data temp;
date='17/12/2009';
m=substr(date,4,2);
d=substr(date,1,2);
y=substr(date,7,4);
d1=mdy(m,d,y);
format d1 mmddyy10.;
run;
| Is This Answer Correct ? | 5 Yes | 5 No |
Actually sas stores dates as numbers
eg:: given date 12-07-2009
in sas :: we can store like this `12-07-2009`d
| Is This Answer Correct ? | 10 Yes | 16 No |
How might you use MOD and INT on numeric to mimic SUBSTR on character Strings?
why is sas data integration studio important? : Sas-di
what are different type of sas servers ? On which server does the sas code execute ?
how do we get duplicate observations in a separate dataset?
What is the difference between %put and symbolgen? : sas-macro
what is pdv? how it is related to input buffer in sas?
where will go the observations that were deleted by delete statement?
/* This is example of age caluculate wihtout to display perfect days and years in output window */ data age; retain dob "12jun2003"d now "24may2011"d; age1=now-dob; age=(now-dob)/365.25; years=int(age); days1=round((age-years)*365.25); months=month(now)-1; if days1 gt 30 and months in(12,10,8,6,4,2)then do; month1=days1/30.4375; month=int(days1/30.4375); if day(now)=1 then days=1; else days=round((month1-month)*30.4375)+1; drop days1 month1 month; end; else if days1 gt 30 and months in (1,3,5,7,9,11)then do; month1=days1/30.4375; month=int(days1/30.4375); if day(now)=1 then days=1; else days=round((month1-month) *30.4375); drop days1 month1 month; end; drop age age1; proc print data=age; format dob now date.; run;
What is the pound sign used for in the data_null_ ?
How to select the observations randomly from a SAS dataset
if the Id has more then two transcatiion then show the first observation, IF Id has only two observation then It show both the observation
what is a post baseline?