Главная страница
    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.025 c
15-1144903122
BorisMor
2006-04-13 08:38
2006.05.07
Работа в Новосибирске


2-1145238840
TStream
2006-04-17 05:54
2006.05.07
Как правильно писать строки в поток, и потом читать?


11-1124588005
UFO
2005-08-21 05:33
2006.05.07
Декодер PNG размером 6-8 килобайт


15-1144856581
ilifant
2006-04-12 19:43
2006.05.07
Снова про справку


15-1145135589
Shastox
2006-04-16 01:13
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский