![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Число дней в текущем месяце [D6, Win95/98]
phantom2040 © (2002-02-20 11:13:00)Мастера помогите, каким образом можно возвратить число дней в текущем месяце, желательно запихать значение в переменную типа Integer или Word.
Нужно для установки фильтрации в таблице по определенным диапазонам, в данном случае должны отображаться данные текущего месяца
phantom2040 (2002-02-20 13:56:00) [1]Спасибо Мастера, уже сделал то что мен нужно было при помощи
MonthDays[IsLeapYear(год)][месяц], возвращает то что нужно, и еще к этому проверяет високосный год или нет.
Digitman (2002-02-20 12:46:00) [2]>McSimm
Ок, согласен. Явно обозначенную автором среду упустил из вида.
McSimm (2002-02-20 12:39:00) [3]В D6 есть. (Довольно богатый модуль)
Автор указал D6, поэтому Corwin дал вполне корректный ответ
Digitman (2002-02-20 12:37:00) [4]>Corwin
И где, позволь полюбопытствовать, ты нашел DateUtils ? К примеру, в D5.5 ничего подобного отродясь не бывало
Corwin (2002-02-20 12:22:00) [5]Все гораздо проще.
В разделе Uses укажи DateUtils.
Далее используй функцию DaysInMonth(Today);
Она вернет число дней в текущем месяце...
Digitman (2002-02-20 11:44:00) [6]function GetCurMonthDayCount: Integer;
var
NYear, NMonth, NDay: Word;
DateFrom: TDate;
begin
DecodeDate(Date, NYear, NMonth, NDay);
DateFrom := EncodeDate(NYear, NMonth, 1);
Result := Trunc(IncMonth(DateFrom, 1) - DateFrom);
end;
Юрий Зотов (2002-02-20 11:38:00) [7]Число дней в любом месяце любого года:
MonthDays[IsLeapYear(год)][месяц]
Детали см. в исходниках SysUtils.
Виктор Щербаков (2002-02-20 11:27:00) [8]Насколько я знаю, число дней в каждом месяце постоянно. Исключение - февраль.
IsLeapYear - определят, является ли год високосным.
Slava (2002-02-20 11:25:00) [9]Знаем текущий месяц?
Берем первое число следующего месяца и отнимаем от него один день.
Имеем последнюю дату текущего месяца, делаем DecodeDate и забираем день типа Word