Количество дней между датами

Lenchik
Дата: 06.12.2007 17:22:07
привет!

Помогите посчитать количество рабочих дней между датой1 и датой2, учитывая еще в некоторых месяцах праздничные дни.
RENaissance
Дата: 06.12.2007 17:25:12
IMHO, это возможно только в случае, если ведется календарный график.

Posted via ActualForum NNTP Server 1.4

Naf
Дата: 06.12.2007 17:31:12
Result:=0;
for i:=Trunc(Date1) to Trunc(Date2) do
   if IsWorkDate(i) then
     inc(Result);
Dim2000
Дата: 06.12.2007 17:32:23

Lenchik wrote:

> Помогите посчитать количество рабочих дней между датой1 и датой2,
> учитывая еще в некоторых месяцах праздничные дни.

select count(*)
from calendar
where ( calendar_date > @date1 ) and
( calendar_date < @date2 ) and
( is_workday = 1 ) ;

Posted via ActualForum NNTP Server 1.4

Warstone
Дата: 06.12.2007 17:33:26
Lenchik
привет!

Помогите посчитать количество рабочих дней между датой1 и датой2, учитывая еще в некоторых месяцах праздничные дни.

Floor(Double(Date2))-Floor(Double(Date1)) (Не рекомендуется, так как в последующих версиях может поменятся формат даты)
Или DaysBetween(Date1, Date2)
RENaissance
Дата: 06.12.2007 17:34:43
Warstone

Floor(Double(Date2))-Floor(Double(Date1)) (Не рекомендуется, так как в последующих версиях может поменятся формат даты)
Или DaysBetween(Date1, Date2)

И это вернет количество дней за исключением выходных, праздников и т .д.?!

Posted via ActualForum NNTP Server 1.4

Lenchik
Дата: 06.12.2007 17:35:30
Naf
Result:=0;
for i:=Trunc(Date1) to Trunc(Date2) do
   if IsWorkDate(i) then
     inc(Result);


A можно пояснения - я начинающая:-)
Lenchik
Дата: 06.12.2007 17:37:11
Dim2000

Lenchik wrote:

> Помогите посчитать количество рабочих дней между датой1 и датой2,
> учитывая еще в некоторых месяцах праздничные дни.

select count(*)
from calendar
where ( calendar_date > @date1 ) and
( calendar_date < @date2 ) and
( is_workday = 1 ) ;
Posted via ActualForum NTP Server 1.4


А это будет работать для dbf-файла?
RENaissance
Дата: 06.12.2007 17:37:38
Lenchik

A можно пояснения - я начинающая:-)

Без календарного графика Вы можете не начинать.

Posted via ActualForum NNTP Server 1.4

Naf
Дата: 06.12.2007 17:42:01
Lenchik
Naf
Result:=0;
for i:=Trunc(Date1) to Trunc(Date2) do
   if IsWorkDate(i) then
     inc(Result);


A можно пояснения - я начинающая:-)


IsWorkDate(const aDate:TDate)
функция, которую вы должны реализовать сами )))