Получить число рабочих дней, исключить праздники
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | * Вот способ вычислить количество рабочих дней между двумя датами, исключая праздники *. * Автор: Raynald Levesque, лето 2002. * Допустим, date1 - начальная дата, date2 - конечная. data list / date1 1-10 (ADATE) date2 12-21 (ADATE) . begin data 1/12/2001 03/01/2002 01/20/1998 02/28/1998 02/12/1998 02/18/1998 end data. * Подсчитаем просто число дней между двумя датами* . COMPUTE DAYS =CTIME.DAYS(date2-date1). *Заметьте, даты хранятся в секундах. В дне 86400 секунд * . COMPUTE WKDAYS=0. LOOP #=date1 to date2 BY 86400. * Ниже в параметры функции ANY нужно добавить все праздники (в американском формате). If RANGE(XDATE.WKDAY(#),2,6) & ~ANY(#, DATE.DMY(1,1,2002), DATE.DMY(1,1,2001), DATE.DMY(7,1,2001) ) WKDAYS=WKDAYS +1. END LOOP. list. |
Related pages
...