Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как определить сколько дней в заданном месяце [D6]


Igor_ ©   (2002-02-25 12:50:00) 

Как определить сколько дней в заданном месяце


MrBeer   (2002-02-25 17:24:00) [1]

// (c) RxLib
function LeapYear(year: integer): boolean;
begin
Result := (Year mod 4 = 0) and ((Year mod 100 <> 0) or (Year mod 400 = 0));
end;
Function GetDaysInMonth(year,month:integer):integer;
const
DaysInMonth: array[1..12] of Integer =
(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
begin
Result := DaysInMonth[Month];
if (Month = 2) and LeapYear(Year) then Inc(Result); { leap-year Feb is special }

end;


Igor_   (2002-02-25 13:26:00) [2]

To Woron:
Какой модуль надо указать в Uses


Woron   (2002-02-25 13:18:00) [3]

и посмотри еще date/time routines
много интересного найдешь


Woron   (2002-02-25 13:17:00) [4]

from help

function DaysInAMonth(const AYear, AMonth: Word): Word;

Description

Call DaysInAMonth to obtain the number of days in the specified month of the specified year.

AYear is a year between 1 and 9999 (inclusive).

AMonth is a month between 1 and 12 (inclusive).


VictorT   (2002-02-25 13:00:00) [5]

Вроде уже недавно было, но всё-таки:

int DaysPerMonth(unsigned short year, unsigned short month)
{
++month;
if (month == 13) {
month = 1;
++year;
}
TDateTime dt = EncodeDate(year, month, 1);
--dt;
unsigned short days;
dt.DecodeDate(&year, &month, &days);
return days;
}


Наверх

Титульная страница Поиск, карта сайта Написать письмо