# The program below does that, using RFC2445 rules, # but they are not the weeks you expected. # The output is: # 20020316Z,20020317Z,20020318Z,20020319Z,20020320Z,20020321Z,20020322Z # 20030628Z,20030629Z,20030630Z,20030701Z,20030702Z,20030703Z,20030704Z # 20040904Z,20040905Z,20040906Z,20040907Z,20040908Z,20040909Z,20040910Z # # - Flávio Soibelmann Glock
use Date::Set; sub workweek { my $year = shift; my $workweek = shift; return Date::Set->period( time => [ $year . '0101Z', ($year+1) . '0101Z' ] ) ->rrule( WKST => 'SA', # our week starts on saturday BYDAY => [ 'SA', 'SU', 'MO', 'TU', 'WE', 'TH', 'FR' ], # list of days we want BYWEEKNO => [ $workweek ] # week we want ); } print workweek(2002,12),"\n"; print workweek(2003,26),"\n"; print workweek(2004,36),"\n"; 1; -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]