DATA Step, Macro, Functions and more

Who to make a date difference between two different date format?

Accepted Solution Solved
Reply
Contributor
Posts: 43
Accepted Solution

Who to make a date difference between two different date format?

Hello SAS world!!

 

I want to calculate difference between two dates, which are in the following formate: "12JUL2012 and 20120711".

I got a date difference as "-20101525", which is utterly wrong. Can someone help me with this problem?

 

Thanks

--Sujith


Accepted Solutions
Solution
‎11-30-2016 02:08 PM
Super User
Posts: 5,516

Re: Who to make a date difference between two different date format?

Posted in reply to Sujithpeta

I suspect that DEATH_DT is actually just a number and not a date at all.  If that's true, you could try:

 

Days_to_Death = mindate - input(put(death_dt, 8.), yymmdd8.);

View solution in original post


All Replies
Super User
Posts: 19,869

Re: Who to make a date difference between two different date format?

Posted in reply to Sujithpeta

You say formats. Can you confirm that date formats are applied to both variables? Make sure it's not numeric with a numeric or datetime format. 

Respected Advisor
Posts: 4,934

Re: Who to make a date difference between two different date format?

Posted in reply to Sujithpeta

What SAS code got you that result?

PG
Contributor
Posts: 43

Re: Who to make a date difference between two different date format?

    mindate       DEATH_DT     Days_to_Death

12JUL2012        20120711         -20101525

 

data M.Death;
set M.Death;
Days_to_Death = (mindate-DEATH_DT);
run;

Respected Advisor
Posts: 4,934

Re: Who to make a date difference between two different date format?

Posted in reply to Sujithpeta

It looks like DEATH_DT is a SAS datetime and not a SAS date. Try

 

Days_to_Death = (mindate-datepart(DEATH_DT));

PG
Solution
‎11-30-2016 02:08 PM
Super User
Posts: 5,516

Re: Who to make a date difference between two different date format?

Posted in reply to Sujithpeta

I suspect that DEATH_DT is actually just a number and not a date at all.  If that's true, you could try:

 

Days_to_Death = mindate - input(put(death_dt, 8.), yymmdd8.);

☑ This topic is solved.

Need further help from the community? Please ask a new question.

Discussion stats
  • 5 replies
  • 212 views
  • 2 likes
  • 4 in conversation