Вниз
Скачать: CL | DM;

работа с датами   Найти похожие ветки 

← →
[NIKEL] ©   (2002-03-06 13:10) [0]

Надо так расчтать...
Есть год и месяц, и есть флаг, который сигнализирует о 5-ти дневном рабочем дне или 6-ти дневном. На основании этих данных, нужно расчитать количество рабочих дней в заданном месеце с учётом флага.


← →
McSimm ©   (2002-03-06 13:41) [1]

Придеться перебирать. Что-то вроде:
function WorkDayCount(Y, M: Word; SatIsWork: Boolean): Integer;
var I: Integer;
W: Word;
begin
Result := 0;
for I := 1 to DaysInAMonth(Y, M) do
begin
W := DayOfWeek(EncodeDate(Y, M, I));
if (W <> 1) and ((W <> 7 ) or SatIsWork) then Inc(Result)
end
end;

Функция DaysInAMonth есть в D6. Для D5 можно написать ее:
function DaysInAMonth(const AYear, AMonth: Word): Word;
begin
Result := MonthDays[(AMonth = 2) and IsLeapYear(AYear), AMonth];
end;


← →
[NIKEL] ©   (2002-03-06 13:44) [2]

все понятно, спасибо!


← →
Ura   (2002-03-06 14:38) [3]

Совет...
Есть еще сокращенные дни!
Или дополнительное время работы ;-) Добровольно обязательное...



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.008 c
3-66781
AnIg
2002-02-22 15:31
2002.03.21
Присоединил DBChart к Table , связанной с DBGrid. Теперь


1-66936
Man-In-Red
2002-03-06 21:51
2002.03.21
Как в label2 вставить текст с Label1 до слова ‘Конец’, а в Label3 после этого слова?


3-66726
Alextov
2002-02-07 19:39
2002.03.21
Как можно быстро програмно загрузить в базу 600 записей так как 600 раз такой код выполняетсся долго


1-66832
UnDISCOvery
2002-03-07 16:59
2002.03.21
С Дельфой хорошо, без Дельфы плохо ! :)


1-66913
Dimedrol
2002-03-06 13:29
2002.03.21
File of Record - лишние данные




   Наверх