Re: Week # function
Posted in 1994
Here is two different versions based on mine and Mr. Leffler's answers: MAIN DEFINE weekno SMALLINT LET weekno = get_current_week( TODAY ) -- My version DISPLAY "Currently, we are in week: ", weekno, " of the year" LET weekno = get_current_week2( TODAY ) -- Mr. Leffler's modified version DISPLAY "Currently, we are in week: ", weekno, " of the year" END MAIN ############################################################################## # # Find what week we are in for year passed in # ############################################################################## FUNCTION get_current_week( pass_date ) DEFINE pass_date DATE, weekno SMALLINT, start_date DATE LET weekno = 1 LET start_date = mdy( 1, 1, YEAR( pass_date ) ) WHILE start_date + 7 <= pass_date LET start_date = start_date + 7 LET weekno = weekno + 1 END WHILE RETURN weekno END FUNCTION #----------------------------------------------------------------------------- FUNCTION get_current_week2( pass_date ) DEFINE pass_date DATE, add_one SMALLINT, weekno SMALLINT LET add_one = 0 IF ( pass_date - MDY( 1, 1, YEAR( pass_date ) ) + 1 ) mod 7 THEN LET add_one = 1 END IF LET weekno = ( ( pass_date - MDY( 1, 1, YEAR( pass_date ) ) + 1 ) / 7 ) + add_one RETURN weekno END FUNCTION #----------------------------------------------------------------------------- Robert Minter |Data Systems Support| \\\\\\_/// Programmer, Software Development | Orange, CA | ( _ _ ) internet: rob@dssmktg.com | Tel: 714.771.0454 | (| ^ |) bangpath: uunet.uu.net!dssmktg!rob| Fax: 714.771.3028 | \\`-'/ I used to not know, now I know I don't know. \\_/