Solved
Contributor
Posts: 58

# 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: 6,934

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

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.);

All Replies
Super User
Posts: 24,012

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

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.

Posts: 5,626

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

What SAS code got you that result?

PG
Contributor
Posts: 58

## 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;

Posts: 5,626

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

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: 6,934

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

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.