Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на Delphi


Информационный Канал Subscribe.Ru

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Delphi

Выпуск № 205
от 10.08.2005, 18:14

Администратор:Калашников О.А.
В рассылке:Подписчиков: 222, Экспертов: 39
В номере:Вопросов: 1, Ответов: 2


Вопрос № 24549: Delphi Здравствуйте, уважаемые эксперты. Подскажите, пожалуйста как узнать разницу между двумя датами. Вот так получается очень странная дата --> 02.01.1904 <-- ??? procedure TForm1.Button1Click(Sender: TObject);<...

Вопрос № 24.549
Delphi

Здравствуйте, уважаемые эксперты.
Подскажите, пожалуйста как узнать разницу между
двумя датами. Вот так получается очень
странная дата --> 02.01.1904 <-- ???

procedure TForm1.Button1Click(Sender: TObject);
Var D1, D2: String;
begin
D1:='06.06.2001';
D2:='08.06.2005';
Caption:=DateToStr(StrToDate(D2) - StrToDate(D1));
end;
Отправлен: 05.08.2005, 11:58
Вопрос задал: Гусев Сергей (статус: Посетитель)
Всего ответов отправлено: 2

Отвечает: Denisss
Здравствуйте, Гусев Сергей!
Даже не странно, что оно Вам такое выдало :)
Дело в том, что TDateTime имеет диапазон дат от 01,01,1900 до 31,12,2099, т.е. как ни считай,а 0 дней, 0 месяцев, 0 лет не получишь никогда. Минимум, 01,01,1900.

Я по быстренькому написал для Вас примерчик (он в приложении). По хорошему, его бы еще потестить, да отладить, но это, надеюсь, в Ваших силах. (Хотя его, может, и не надо отлаживать).
Из минусов могу сказать Вам только то, что в примере недочет один: если второй год окажется меньше первого, то получится отрицательное число :)

Приложение:

Ответ отправил: Denisss (статус: Студент)
Отправлен: 05.08.2005, 23:15

Отвечает: Ерёмин Андрей
Здравствуйте, Гусев Сергей!
Нет, так не выйдет. Подключите модуль DateUtils (Добавтье в uses), после этого вам доступны следующие функции, которые позволяют узнать разницу между двумя датами: YearsBetween, MonthsBetween, WeeksBetween, DaysBetween, HoursBetween, MinutesBetween, SecondsBetween, MilliSecondsBetween. Каждой функции нужного передать две даты, между которыми нужно найти разность.
---------
Если б не было бы глюка, жизнь была б такая скyка...
Ответ отправил: Ерёмин Андрей (статус: Студент)
Отправлен: 09.08.2005, 06:59


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2005, RusFAQ.ru, Россия, Москва. Все права защищены.
Идея, дизайн, программирование, авторское право: Калашников О.А.

Яндекс


Subscribe.Ru
Поддержка подписчиков
Другие рассылки этой тематики
Другие рассылки этого автора
Подписан адрес:
Код этой рассылки: comp.soft.prog.delphiplus
Отписаться
Вспомнить пароль

В избранное