Yes, Natural can handle date calculations natively, using any combination of date literals, date-format variables, or system date variable.
DEFINE DATA LOCAL
1 #FROM (D) INIT <D'06/15/2012'>
1 #TO (D) INIT <D'06/18/2012'>
1 #DAYS (N3)
END-DEFINE
#DAYS := D'06/18/2012' - D'06/15/2012'
WRITE #DAYS 'days between D"06/18/2012" and D"06/15/2012"'
*
#DAYS := #TO - #FROM
WRITE #DAYS 'days between #FROM and #TO'
*
#DAYS := *DATX - D'06/15/2012'
WRITE #DAYS 'days between *DATX and D"06/15/2012"'
END
Page 1 06/24/12 00:19:56
3 days between D'06/18/2012' and D'06/15/2012'
3 days between #FROM and #TO
9 days between *DATX and D'06/15/2012''
Alpha format date values must be converted to internal date format prior to the calculations.
Note that my date literals may not compile on your system, as the date format will be customized for your location. My Natural system expects date literals in the form D'MM/DD/YYYY'.