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

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

Как узнать сколько дней в январе например? [D7, WinXP]


Kat ©   (2004-11-01 17:45:00) 

Как узнать сколько дней в январе например
Использую DayOfTheMonth(20.01.2005) Получается 20. Увы не 20 дней в январе.


Poirot   (2004-11-02 11:29:00) [1]

>> Юрий Зотов ©   (01.11.04 21:24) [7]
Точна :) Лесипед изобретать все готовы по готовым чертежам:)))


Юрий Зотов   (2004-11-01 21:24:00) [2]

> KSergey ©   (01.11.04 20:10) [6]

Наверное, потому, что приведенная функция записывается одной простой строчкой:
MonthDays[IsLeapYear(год), месяц]
И незачем "плодить сущности без необходимости".


KSergey   (2004-11-01 20:10:00) [3]

> Poirot ©   (01.11.04 18:02) [5]
> LOL помоему:)))))))))))

А пачиму?


Poirot   (2004-11-01 18:02:00) [4]

Выдержка из SysUtils:

function IsLeapYear(Year: Word): Boolean;

type
 PDayTable = ^TDayTable;
 TDayTable = array[1..12] of Word;

{ The MonthDays array can be used to quickly find the number of
 days in a month:  MonthDays[IsLeapYear(Y), M]      }

const
 MonthDays: array [Boolean] of TDayTable =
   ((31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31),
    (31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31));


LOL помоему:)))))))))))


Kat   (2004-11-01 17:52:00) [5]

Спасибо!


Andy BitOff   (2004-11-01 17:50:00) [6]

А ты чего не знаешь сколько дней? Если знаешь, так напиши например так:

Function days (Year:integer; Month:integer):Integer;
  begin
    Case month of
      1: Result:=31;
      2: If (Year mod 4 = 0) and ((Year mod 100 <> 0) or (Year mod 400 = 0)) then Result:=29 else Result:=28;
      3: Result:=31;
      4: Result:=30;
      5: Result:=31;
      6: Result:=30;
      7: Result:=31;
      8: Result:=31;
      9: Result:=30;
      10: Result:=31;
      11: Result:=30;
      12: Result:=31;
    end;
  end;


Тестировщица   (2004-11-01 17:49:00) [7]

DaysInAMonth


begin...end   (2004-11-01 17:47:00) [8]


> Kat   (01.11.04 17:45)

А причём здесь DayOfTheMonth ?

А в январе всегда 31 день.


Наверх

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