Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Разница между датами [D7, XP]


Страницы:   1 2 3 4 5 6 7 8 9

Andy BitOff (ppc) ©   (2007-11-08 13:07:00) 

Здравствуйте.
Что-то у меня уже башка не варит, сижу парюсь и шарики за ролики заходят...
Никак не удается получить разничу между датами в формате 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]

Крута :)))


Страницы:   1 2 3 4 5 6 7 8 9

Наверх

Титульная страница Поиск, карта сайта Написать письмо