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

Порядковый номер дня в году   Найти похожие ветки 

 
kyn66 ©   (2006-04-18 17:03) [0]

Мастера! Есть-ли механизм, чтобы определить САБЖ?


 
Desdechado ©   (2006-04-18 17:06) [1]

а подумать?
из текущей даты вычитаешь 1 января


 
MBo ©   (2006-04-18 17:07) [2]

Да. Механизм такой - открываем хелп и начинаем набирать DayOf и выбираем нужное


 
kyn66 ©   (2006-04-18 17:36) [3]

Хм... ДА, действительно нашел функцию DayOfTheYear, а как контролируется високосный год?. А спросил про механизм потому, что нужно применить не только в Дельфи.


 
Игорь Шевченко ©   (2006-04-18 17:38) [4]


> а как контролируется високосный год?.


А у фукнции наверняка исходный текст есть.


 
kyn66 ©   (2006-04-18 17:45) [5]

Вот нашел, и что тут можно понять про високосный год?

function DayOfTheYear(const AValue: TDateTime): Word;
begin
 Result := Trunc(AValue - StartOfTheYear(AValue)) + 1;
end;
....

function StartOfTheYear(const AValue: TDateTime): TDateTime;
begin
 Result := EncodeDate(YearOf(AValue), 1, 1);
end;
...

function YearOf(const AValue: TDateTime): Word;
var
 LMonth, LDay: Word;
begin
 DecodeDate(AValue, Result, LMonth, LDay);
end;


 
Desdechado ©   (2006-04-18 18:01) [6]

> как контролируется високосный год
елы-палы, ты подумать можешь?
разница между 2 датами дает твой порядковый день года, а в представлении типа "дата" уже учитываются все високосности и прочие ...


 
kyn66 ©   (2006-04-18 18:03) [7]

> Desdechado
Если тока так, то спасибо за ликбез 8-)


 
kyn66 ©   (2006-04-18 18:49) [8]

Хотя проверил и получил...

DaysBetween(StrToDate("01.01.2006"), StrToDate("10.04.2006"))


По идее должно быть 100, а получается 99, почему?


 
Anatoly Podgoretsky ©   (2006-04-18 18:58) [9]

+1


 
kyn66 ©   (2006-04-18 19:11) [10]

А это не подгонка? ;-)
Вот нашел, вроде правильно работает

(DayOfTheYear(StrToDate("10.04.2006")));


 
kilkennyCat ©   (2006-04-18 19:14) [11]


> А это не подгонка? ;-)


DaysBetween counts only whole days. Thus, DaysBetween reports the difference between Dec 31, 1999 11:59 PM and Jan 1, 2000 11:58 PM as 0 because the difference is one minute short of an entire day.



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

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



Память: 0.47 MB
Время: 0.082 c
2-1145204475
Bogdan1024
2006-04-16 20:21
2006.05.07
Complex numbers в Дэлфи


2-1145420179
Rubey
2006-04-19 08:16
2006.05.07
Централизованная БД для сбора информации


2-1145034918
Volodya_
2006-04-14 21:15
2006.05.07
TMediaPlayer


15-1144305632
McSimm
2006-04-06 10:40
2006.05.07
Цитирование. помогайте, пожалуйста.


3-1142223627
anubis
2006-03-13 07:20
2006.05.07
Работа БД Парадокс с Екселем




   Наверх