![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Разница между датами [D7, XP]
Andy BitOff (ppc) © (2007-11-08 13:07:00)
Страницы: < 1 2 3 4 5 6 7 8 9 >
Здравствуйте.
Что-то у меня уже башка не варит, сижу парюсь и шарики за ролики заходят...
Никак не удается получить разничу между датами в формате dd.mm.yy.
Например.
05.11.2007 и 08.11.2007 должно получиться 03.00.00, но при работе с типом дата месяц (как и год) не может быть равен 0.
Может кто подскажет как это можно реализовать?
Johnmen (2007-11-09 15:34:00) [41]
> SergeyIT © (09.11.07 15:26) [123]
Дурковать многие умеют. Но у Вас это получается очень тонко - первое впечатление, что Вы тупой. Ан нет!
Засим тоже умолкаю.
И это правильно.
SergeyIT (2007-11-09 15:26:00) [42]
> Johnmen © (09.11.07 14:53) [118]
>
> Вы что, мой вопрос не поняли? Поясняю - почему у Вас разница
> дат для примера [106] одинаковая, хотя любой, знающий вычитание,
> человек видит, что она разная?
Разве разная? - ровно 1 месяц получается.
Вот и korneley Вам указал на это.
Засим тоже умолкаю.
Anatoly Podgoretsky (2007-11-09 15:18:00) [43]> korneley (09.11.2007 14:53:57) [117]
Но это нормальный путь, когда документально оформляются бизнес правила.
Например я встречал места, где утверждено, что в месяце 30, 30.5, 31 день, в основном 30 дней в месяце и 365 или 365.25 в году
А без этого вы будете друг другу бить морды и обвинять друг друга. В большинстве места не мудрят а измеряют в днях
korneley (2007-11-09 15:05:00) [44]
> А Вас я очень прошу, пожалуйста, хватит флудить
Пошел стену искать, засим замолкаю....
korneley (2007-11-09 15:03:00) [45]
> далее 31>30, но что мы видим??? 0.1.0 = 0.1.0 !!!
Да, но месяц-то и там и там один прошел. Так чему удивляться?
Johnmen (2007-11-09 14:56:00) [46]
> korneley ©
А Вас я очень прошу, пожалуйста, хватит флудить. Мало того, что не понимаете темы, ещё и другим мешаете понять.
Johnmen (2007-11-09 14:53:00) [47]
> SergeyIT (09.11.07 14:20) [111]
> А так - месяц назад - это 9 октября 2007 года - и не важно сколько дней в месяце.
> Так и функция IncMonth в Дельфи работает.
Вы что, мой вопрос не поняли? Поясняю - почему у Вас разница дат для примера [106] одинаковая, хотя любой, знающий вычитание, человек видит, что она разная?
И во-вторых. Прошу не отвечать на непоставленные вопросы, а отвечать на поставленные. Иначе это любимая Вами демагогияполучается.
korneley (2007-11-09 14:53:00) [48]
> возможно (вероятнее) он не сможет объяснить какое.
Не, ну это уже другая тема и решается не программированием, а, как минимум, переговорами с постановкой задачи и написанием ТЗ, в котором год будет хоть 100 суток, а сутки по 100 часов
korneley (2007-11-09 14:42:00) [49]
> и обратно - месяц вперед туже дату не получишь
Естественно, 31.10 - месяц вперёд - 30.11, о чем и речь. "И это правильно" (с)
Anatoly Podgoretsky (2007-11-09 14:36:00) [50]> korneley (09.11.2007 14:32:52) [112]
Все бы вам лепить, а у заказчика совсем другое представление, что такое месяц и год, необязательно совпадающее с твоим и возможно (вероятнее) он не сможет объяснить какое.
Anatoly Podgoretsky (2007-11-09 14:35:00) [51]> SergeyIT (09.11.2007 14:20:51) [111]
За то для 31.10.2007 месяц назад не 31.09.2007
и обратно - месяц вперед туже дату не получишь
Anatoly Podgoretsky (2007-11-09 14:34:00) [52]> korneley (09.11.2007 13:48:48) [108]
Так получает то он интервал в днях, нет интервала в таких изощренных форматах как dd.mm.yyyy
korneley (2007-11-09 14:32:00) [53]
> Так и функция IncMonth в Дельфи работает.
Во! Есть такая функция! Берем начальную дату и лепим IncMonth, пока не станет больше конечной. На 12 месяцев добавляем год. Дни - разница значения в предпоследней итерации от конечной даты.
SergeyIT (2007-11-09 14:20:00) [54]
> Как тебя понимать, Саид? (с)
А так - месяц назад - это 9 октября 2007 года - и не важно сколько дней в месяце. Так и функция IncMonth в Дельфи работает.
korneley (2007-11-09 14:01:00) [55]
> Leonid Troyanovsky © (09.11.07 13:58) [109]
Ну да. А пока методику пишет, глядишь - и нет проблемы :)
Leonid Troyanovsky (2007-11-09 13:58:00) [56]
> korneley © (09.11.07 13:48) [108]
> Дык, елы-палы, братушка, я ж объяснял, что не надо интервал
> в днях получать, ну не интересно ему, что прошло N дней,
> а интересно, что год. Или месяц. Или неделя (во! в неделе
> точно = 7 дней). Если человеку надо в его единицах результат
> выдать (уж не важно почему), то и пользовать надо эти единицы
Так вот пусть оный человек и предлагает методику расчета того,
что его интересует (и под этим подписывается).
Ну, а дальше - дело техники.
Бесплатно же можно получить лишь то, что до недель вкл.
--
Regards, LVT.
korneley (2007-11-09 13:48:00) [57]
> Ну тогда ответь на вопрос, получили интервал 365 дней, это
> сколько лет 1 или менее?
Дык, елы-палы, братушка, я ж объяснял, что не надо интервал в днях получать, ну не интересно ему, что прошло N дней, а интересно, что год. Или месяц. Или неделя (во! в неделе точно = 7 дней). Если человеку надо в его единицах результат выдать (уж не важно почему), то и пользовать надо эти единицы
Sergey13 (2007-11-09 13:23:00) [58]Предлагаю ввести универсальную единицу интервала времени - ГАК.
IF YearsBetween(FirstDate, SecondDate)>1 THEN Result := 'Год с ГАКОМ';
Johnmen (2007-11-09 13:22:00) [59]
> SergeyIT © (09.11.07 12:57) [101]
1. 15.06.2007 - 15.07.2007 = 0.1.0
2. 15.07.2007 - 15.08.2007 = 0.1.0
При этом
1. = 30 суток
2. = 31 сутки
далее 31>30, но что мы видим??? 0.1.0 = 0.1.0 !!!
Как тебя понимать, Саид? (с)
Johnmen (2007-11-09 13:16:00) [60]> Думкин © (09.11.07 12:25) [96]
Крута :)))