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

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

Количество дней в месяце [D6, D7, Win95/98]


Страницы:   1 2

KSION ©   (2003-01-23 12:14:00) 

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


Sha   (2003-01-28 12:58:00) [1]

2 Chubais © (28.01.03 12:32)
Поразительно хорошо или поразительно плохо?
Если первое, то спасибо.
Если второе, то советую сначала все как следует проверить.


Sha   (2003-01-28 12:34:00) [2]

2 Anatoly Podgoretsky © (28.01.03 11:58)
Делимость на 16 проверить легче, чем делимость на 400.


Chubais   (2003-01-28 12:32:00) [3]

Sha © (28.01.03 11:49)
поразительно!


Anatoly Podgoretsky   (2003-01-28 11:58:00) [4]

Вот жто загадочно (Year and 15=0)


Sha   (2003-01-28 11:49:00) [5]

LeapYear:= (Year and 3=0)
and ((Year mod 100<>0)
or (Year and 15=0)
and (Year mod 4000<>0));


Reindeer Moss Eater   (2003-01-27 16:57:00) [6]

Скажу, что Григорианский календарь к этому времени выйдет из употребления


Anatoly Podgoretsky   (2003-01-27 16:23:00) [7]

Reindeer Moss Eater (23.01.03 17:01)
Что скажешь про 4000 год?


dtrn   (2003-01-27 16:15:00) [8]

function MaxDayOfMonth(Year,Month:word):integer;Overload;
function MaxDayOfMonth(Date:TDateTime):integer;Overload;

implementation

function MaxDayOfMonth(Year,Month:word):integer;
begin
Result:=PDayTable(
@MonthDays[IsLeapYear(Year)])^[Month];
end;

function MaxDayOfMonth(Date:TDateTime):integer;Overload;
var
Year,Month,Day:Word;
begin
DecodeDate(Date,Year,Month,Day);
Result:=MaxDayOfMonth(Year,Month);
end;


Романов Р.В.   (2003-01-23 17:41:00) [9]


> Високосные - делящиеся на 4 без ост-ка, за исключением делящихся
> на 100, за исключением делящихся на 400


Да что вы беспокоитесь. Через 6 лет взорвется Солнце, а тех кто выжевет через 3 года добъет метеорит :)


KDenis   (2003-01-23 17:21:00) [10]

А зачем количество дней в месяце? Может GetDate подойдет???


Reindeer Moss Eater   (2003-01-23 17:16:00) [11]

Johnmen ©
курсив у меня - это фрагмент.
В нем описано правило поиска невисокосных лет всех среди кратных четырем.


Johnmen   (2003-01-23 17:10:00) [12]

>Reindeer Moss Eater (23.01.03 17:01)

Наврал опять...

Високосные - делящиеся на 4 без ост-ка, за исключением делящихся на 100, за исключением делящихся на 400


dolmat   (2003-01-23 17:04:00) [13]

еще можно попробовать такое
if mons+1>12 then year1:=year+1 else year1:=year;
n_day:=strtodate("01."+inttostr(mons)+"."+inttostr(year))-strtodate("01."+inttostr(mons+1)+"."+inttostr(year1))-1;


Reindeer Moss Eater   (2003-01-23 17:01:00) [14]

Виноват, наврал. Про произвольный выбор.

к високосным относятся только те вековые годы, число столетий которых делится на 4 без остатка. Такими годами, являются: 1600, 2000, 2400, 2800 и т. д. Годы же 1700, 1800, 1900, 2100 и т. д. будут простыми.


Anatoly Podgoretsky   (2003-01-23 16:54:00) [15]

И скорость вращения изменяется, падает


Reindeer Moss Eater   (2003-01-23 16:50:00) [16]

Т.е. заявку надо писать что ли в комитет по распределению дат? Наверняка какая то система есть.
Или планеты того - с орбиты сползают?

1. Зачем?
2. Да наверняка есть
3. Постепенно сползают


REA   (2003-01-23 16:29:00) [17]

>Эти 4 года определяются произвольным образом.

Т.е. заявку надо писать что ли в комитет по распределению дат? Наверняка какая то система есть. Или планеты того - с орбиты сползают?


KDenis   (2003-01-23 16:16:00) [18]

Самый простой способ: научится считать до 31


Reindeer Moss Eater   (2003-01-23 16:07:00) [19]

В Григорианском календаре в течение 400 лет должно быть не 100 високосных лет, а на 4 меньше. Эти 4 года определяются произвольным образом.


REA   (2003-01-23 16:03:00) [20]

Ну если брать планетарный масштаб, то там каждый сотый или тысячный год не високосный. Или что-то типа того. Вобщем на 4 не всегда можно делить.


Страницы:   1 2

Наверх

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