Форум: "Основная";
Текущий архив: 2003.05.29;
Скачать: [xml.tar.bz2];
ВнизНужен элегантный алгоритм. Работа с датами. Найти похожие ветки
← →
BorisKB (2003-05-16 12:26) [0]Сколько дней из заданного месяца (дан месяц и год) попадает в интервал дат.
Алгоритм должен учитывать все возможные варианты.
0 дней. полный месяц. Х дней.
Ничего стоящего в голову не приходит. Только куча IF-ов. Не красиво так. Как бы их (if-ы) минимизировать..........
← →
Mystic (2003-05-16 12:30) [1]1. Найди пересечение двух интервалов (месяц и твой интервал)
2. Если интервалы не пересекаются, то 0 дней.
3. Вычти из конца полученного интервала его начало и добавь один.
← →
VMcL (2003-05-16 12:36) [2]Delphi help: date/time routines
← →
BorisKb (2003-05-16 12:50) [3]Даааааааа. А я надеялся...........
Ответы конечно.... Я не спрашиваю - как сделать. Я спрашиваю как элегантно сделать?
← →
Leshiy (2003-05-16 12:56) [4]Код давай.
← →
Mystic (2003-05-16 12:56) [5]Єлегантно это без операторов if ?
← →
Vit@ly (2003-05-16 12:57) [6]Каким образом задан интервал?
← →
Mystic (2003-05-16 13:00) [7]DateStart := Max();
DateFinish := Min();
if DateFinish < DateStart
then Result := 0
else Result := Round(DateFinish - DateStart)
← →
Diouzshev (2003-05-16 13:02) [8]2, ну 4 if это по твоему много ?
uses DateUtils;
...........
if BeginDateInterval < StartOfAMonth(Y, M) then
BeginDateInterval := StartOfAMonth(Y, M);
if EndDateInterval > EndOfAMonth(Y, M) then
EndDateInterval := EndOfAMonth(Y, M);
DC := DaysBetween(BeginDateInterval, EndDateInterval) + 1;
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.05.29;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.008 c