Zdravim,
        kouknul jsme se do googlu a nasel jsem tam jedno reseni v .NET. Myslim, 
ze bych sel touto cestou. Sice to nebude nic zariveho, ale asi to bude jistota. 
Uvedu zde onen kod:

***************
CREATE function swsAdmin.fn_WorkingDays
(
       @FromDate       datetime,
       @ToDate         datetime
)
RETURNS int
with encryption
as
begin
       if(@FromDate > @ToDate)
        return 0

       Declare @WorkingDays int
       Set @WorkingDays = 0

       while(@FromDate <= @ToDate)
       begin
               -- do not count SA & SU
               if((((@@datefirst + datepart(weekday, @FromDate) - 2) % 7) + 1) 
< 6)
               begin
                       Set @WorkingDays = @WorkingDays + 1
               end

               -- add one day
               Set @FromDate = @FromDate + 1
       end

       return @WorkingDays
end
************

Osobne bych jeste pridelal funkci, ktera by na argument typu Date(nebo Calendar 
... dle gusta) vracela, zda je pracovni ci ne. A nekde asi udrzovat tabulku 
svatku ....



Lukas Barton napsal(a):
Ladislav Starý napsal(a):
Zdravim,

nez zacnu vymyslet nejaky algoritmus, chtel bych se zeptat, jestli se da nejakym elegantnim zpusobem zjistit pocet pracovnich dnu mezi dvema kalendarnimi dny. Pocet kalendarnich dnu jsem dokazal zjistit pomoci rozdilu milisekund, ale jak to udelat s kalendarnimi dny, to me zatim nenapada.

Zatim jsem uvazoval, ze bych postupne prochazel vsechny kalendarni dny v tom intervalu a testoval, jestli je pracovni nebo ne.
Prijde mi ale hodne pomaly. Navic jeste budu muset resit statni svatky.
Zjistit pocet pondeli-patku jde jeste vzoreckem.
A pak musite mit nekde databazi svatbku a odecist, to co lezi mezi. Protoze pocet svatku se meni v case (napr. velikonoce, pridavaji se svatky nove, ....).

 Lukas





Odpovedet emailem