Главная страница
    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.014 c
11-1125107988
ebta
2005-08-27 05:59
2006.05.07
bzip for KOL ?


15-1144912673
Zhekson
2006-04-13 11:17
2006.05.07
Установка MS SQL


2-1145280366
nyron
2006-04-17 17:26
2006.05.07
печатная форма


2-1145261109
d_oleg
2006-04-17 12:05
2006.05.07
функции в dll


2-1145508928
Nataly
2006-04-20 08:55
2006.05.07
SQL





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский