Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.05.07;
Скачать: 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 вся ветка

Текущий архив: 2006.05.07;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.011 c
2-1145371762
Beni
2006-04-18 18:49
2006.05.07
HexToBin(), BinToHex()


2-1145291122
ArcSin
2006-04-17 20:25
2006.05.07
Помогите уменьшить прогу


1-1143466199
DelphiLexx
2006-03-27 17:29
2006.05.07
Не работает DoubleBuffered при включенной тема Windows XP


1-1143741211
Mortem
2006-03-30 21:53
2006.05.07
Crt под Delphi


6-1137490718
ArMellon
2006-01-17 12:38
2006.05.07
Подсчет траффика





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский