Dates.sbr Dates operations By Ami Bar-Yadin
SYNTAX: XCALL DATES,FUNC,RESULT,date1{,date2}{,days}
Functions:
1 Convert from any format to any format (date1 --> date2)
2 date2 = date1 + days
3 days = date1 - date2
4 date2 = date1[year, y-week, DOW]
5 date2 = date1[year, month, m-week, DOW]
6 date2 = date of last day of month in date1
$ODTIM 7 (interface) DATES,7,0,DATE,TIME,FLAGS,OUT BUFFER or FILE#
$IDTIM 8 (interface) DATES,8,RESULT,INPUT,FLAGS,OUT DATE,OUT TIME
Notes for functions 4 and 5:
Compute date2 using only indicated data from date1
date1 must be an X with at least 5 bytes (for func#4)
date1 must be an X with at least 6 bytes (for func#5)
Notes for function 6:
Compute a date (date2) which is the last day of the same month
that is in date1
Notes for function 7:
This function provides an interface to $ODTIM
(See AlphaBasic XCALL ODTIM for more details on flags)
Nots for function 8:
This function provides an interface to $IDTIM
(See AlphaBasic XCALL IDTIM for more details on flags)
DATE DATA FORMATS:
ASCII ADATE,S,8 ("01/05/83")
Seperated BDATE,X,{3..7}
MONTH,B,1 1..12 : January..December
DAY,B,1 1..31
YEAR,B,1
DOW,B,1 1..7 : Monday..Sunday
YWEEK,B,1 1..52 : Week of year
MWEEK,B,1 1..5 : Week of month
MDAYS,B,1 1..31 : Days in month
Internal IDATE,B,4 True Julian B,4
16 bit CDATE,B,2 Century Julian B,2
Julian JDATE,F Yearly Julian F
Note:
A floating point 0 will be converted to today's date on input.
for example XCALL DATES,1,RESULT,0,A$ Will return A$ with today's date.
RESULT (F) CODES:
0 ALL OK
1 FUNCTION NUMBER OUT OF RANGE (1..6)
2 ERROR IN CONVERSION OF INPUT DATE
3 INVALID FORMAT FOR DATE
4 IMPROPER NUMBER OF PARAMETERS
5 INVALID FORMAT FOR DAYS