Returns a FIXED BINARY (31,0) value for the number of days corresponding to the date d. The value is in Lilian format.
DAYS (d, p, w)
d is a string expression representing a date. If not specified, DAYS uses the value returned by DATETIME(). The value for d must have a computational type and should have a character type. If not, the DAYS function converts d to character.
p is a supported date/time pattern. If not specified, DAYS uses the value YYYYMMDDHHMISS9999. Like the value for d, p must have a computational type and should have a character type. If not, the DAYS function converts p to character.
w is an integer expression value of the century window to be used for any two-digit year formats.
This example uses the DAYS function to return the number of days from the start of the Lilian calendar to a specified date.
dt: proc options(main);
dcl wkdays (7) char (6) var static init ('Sun', 'Mon', 'Tue', 'Weds', 'Thurs', 'Fri', 'Sat');
dcl (string, pattern) char (80) var ;
dcl str char (80) var;
dcl f float bin (52);
dcl d fixed bin (31);
d = 0;
string = '14.02.2014';
pattern = 'DD.MM.YYYY';
put skip;
d= days(string, pattern, 0);
put skip list ('On Feb 14, 2014, ' || trim(d) || ' days elapsed since the start of the Lilian calendar.');
put skip;
put skip list ('Feb 14, 2014 was on a ' || wkdays(weekday(d)));
put skip;
f= secs(string, pattern, 0);
put skip list ('On Feb 14, 2014, ' || trim(f) || ' seconds elapsed since the start of the Lilian calendar.');
put skip;
put skip list ('Converting the number of days elapsed back to the original pattern: ');
str = daystodate(d, pattern);
put skip list (str);
put skip;
put skip list ('Converting the number of seconds elapsed back to the original pattern: ');
str = secstodate(f, pattern);
put skip list (str);
put skip;
put skip list ("Converting the original date/time stamp to 'YYYYMMDD' : ");
str = repattern((str), 'YYYYMMDD', pattern, 1976);
put skip list (str);
end;
The above code sample prints the following:
On Feb 14, 2014, 157543 days elapsed since the start of the Lilian calendar.
Feb 14, 2014 was on a Fri
On Feb 14, 2014, 1.361171520000000E+010 seconds elapsed since the start of the Lilian calendar.
Converting the number of days elapsed back to the original pattern:
14.02.2014
Converting the number of seconds elapsed back to the original pattern:
14.02.2014
Converting the original date/time stamp to 'YYYYMMDD' :
20140214
None.
Description
The DAYS built-in function returns either the number of days corresponding to a date/time pattern string, or the number of days for today's date.
See the help topic Date/Time Built-in Functions for more information about Lilian format and supported date/time patterns.