Search code examples
sassas-macro

How to subtract two dates in sas studio?


I need help with a question.

I need to subtract two dates in sas studio. I have the next:

%let date_star = %SYSFUNC( DATETIME());

%let date_end = %SYSFUNC( DATETIME());

But I dont´n now how to subtract these variables.

Thanks for your help.


Solution

  • Use the INTCK() function to return the number of interval boundaries of a given kind that lie between two dates, times, or datetime values. The possible values of interval are listed in Date and Time Intervals.

    %MACRO want;  
     
        %let date_start = %SYSFUNC(DATETIME());
    
        data _null_;
            rc=SLEEP(10,1); /* Sleep for 10 seconds */
        run;
        
        %let date_end = %SYSFUNC(DATETIME());
        
        %put %sysfunc(intck(second, &date_start., &date_end.));
    
    %MEND; 
    
    %want;
    

    Result is 10 seconds, as expected.