Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.05.07;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.031 c
4-1140017275
Stas_Kalishenko
2006-02-15 18:27
2006.05.07
WaitForMultipleObjects


2-1145008141
Anna
2006-04-14 13:49
2006.05.07
Как в Delphi отобразить html файл


15-1144763743
Джо
2006-04-11 17:55
2006.05.07
Скрипт форума поменялся?


1-1143899915
Volf_555
2006-04-01 17:58
2006.05.07
Как сделать ОДИН щелчёк левой кнопкой мыши через SendMessage?


3-1142320350
sanich
2006-03-14 10:12
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский