## difference between dates

Regular Contributor
Posts: 209

# difference between dates

Typically cupa_dt is greater than start_dt. However, when start_dt is greater than cupa_dt I need to switch around start_dt and cupa_dt to get the correct difference between the two dates. Is there any way to accomplish this without creating a flag (ie cc_check)?

cupa_dt=dhms(TDT,0,0,TTM);

start_dt=dhms(CSDAT,0,0,CSTIM);

cc_check=0;

if (start_dt>cupa_dt and cupa_dt ne .) then cc_check=1;

if(cc_check=0) then do;
cc_diff=round(((cupa_dt-start_dt)/86400),0.01);
end;

if(cc_check=1) then do;
cc_diff=round(((start_dt-cupa_dt)/86400),0.01);
end;

Thank you.

Posts: 1,270

## Re: difference between dates

cc_diff=round(((abs(cupa_dt-start_dt))/86400),0.01);

Valued Guide
Posts: 2,191

## Re: difference between dates

although you have one solution, here is another

difference = range( date1, date2 ) ;

Here is some code to demo the result .

data ;

do date1 =  today() - 3 to today()+2, . ;

do date2 =  today() - 3 to today()+2, . ;

diff= range( date1,date2) ;

output ;

end; end;

stop;

format date: date. ;

run ;

Discussion stats
• 2 replies
• 342 views
• 0 likes
• 3 in conversation