Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.12.2008, 16:36   #1
MAcK
Форумчанин
 
Регистрация: 09.11.2006
Сообщений: 274
Плохо Получить разницу Даты

Есть такой алгоритм:

Код:
   years := YearsBetween(birthday,todate);
   months := MonthsBetween(birthday,todate);
   days := daysBetween(birthday,todate);

Но при вводе 4.10.2008 и 4.10.2009 выдаёт

years = 0
months = 11
days = 31

тоесть 1 год, как получить коррентую разницу?
Единственный приличный формат, разработанный Microsoft'ом, - format c:
MAcK вне форума Ответить с цитированием
Старый 04.12.2008, 17:19   #2
NieL
Форумчанин
 
Регистрация: 17.11.2008
Сообщений: 116
По умолчанию

Код:
procedure Tfrm_Test.Button1Click(Sender: TObject);

  function _YearsBetween(const ANow, AThen: TDateTime): Integer;
  begin
    Result := Round(YearSpan(ANow, AThen));
  end;

  function _MonthsBetween(const ANow, AThen: TDateTime): Integer;
  begin
    Result := Round(MonthSpan(ANow, AThen));
  end;

  function _DaysBetween(const ANow, AThen: TDateTime): Integer;
  begin
    Result := Round(DaySpan(ANow, AThen));
  end;

var
  y, m, d: Integer;
  N, C: TDate;
begin
  N := StrToDate('4.10.2008');
  C := StrToDate('4.10.2009');

  y := _YearsBetween(N, C);
  m := _MonthsBetween(N, C);
  d := _DaysBetween(N, C);

  ShowMessageFmt('%d'#13#10'%d'#13#10'%d', [y, m, d]);
end;

Последний раз редактировалось NieL; 04.12.2008 в 17:39.
NieL вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Формат даты Green_C@t Общие вопросы Delphi 3 22.09.2009 10:05
функции даты wall66 Microsoft Office Access 3 04.12.2008 22:16
Наращивание даты chekanoff Общие вопросы Delphi 5 28.02.2008 18:22
Даты не даты Nasya Microsoft Office Excel 3 22.08.2007 20:18
вычитание даты zetrix Microsoft Office Excel 3 10.11.2006 06:30