Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Расчет дат 
:(
    Опции темы
dser
Дата 3.2.2003, 01:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 33
Регистрация: 3.2.2003
Где: Украина Харьковск ая обл.

Репутация: нет
Всего: нет



Как расчитать время между двумя датами. Например, сколько прошло времени между
31,08,2001 и 12,01,2003.
PM MAIL   Вверх
<Spawn>
Дата 3.2.2003, 02:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Око кары:)
****


Профиль
Группа: Экс. модератор
Сообщений: 2776
Регистрация: 29.1.2003
Где: Екатеринбург

Репутация: 44
Всего: 64



Для определения существует множество функций:
YearsBetween()-возвращает количество целых годов между двумя годами
YearSpan()-возвращает действительное число

и соответственно:
Minutes......
Seconds....
MilliSeconds....
Days....
Hours...
Months....


--------------------
"Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков.
PM MAIL ICQ   Вверх
dser
Дата 3.2.2003, 02:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 33
Регистрация: 3.2.2003
Где: Украина Харьковск ая обл.

Репутация: нет
Всего: нет



Весьма благодарен, тебе, Spawn.
PM MAIL   Вверх
<Spawn>
Дата 3.2.2003, 02:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Око кары:)
****


Профиль
Группа: Экс. модератор
Сообщений: 2776
Регистрация: 29.1.2003
Где: Екатеринбург

Репутация: 44
Всего: 64



А также есть функции, которые сравнивают даты CompareDate, CompareDateTime, CompareTime, но возвращают значения -1, 0, 1 , что соответственно означает, что Date1<Date2, Date1=Date2, Date1>Date2

Это сообщение отредактировал(а) <Spawn> - 3.2.2003, 02:49


--------------------
"Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков.
PM MAIL ICQ   Вверх
dser
Дата 3.2.2003, 02:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 33
Регистрация: 3.2.2003
Где: Украина Харьковск ая обл.

Репутация: нет
Всего: нет



Еще раз спасибо!!!
Выйди в названия тем посмотри мой вопрос о базах данных.
Пиши, может и я чем помогу.
PM MAIL   Вверх
Korzhavin
  Дата 3.2.2003, 22:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 3.2.2003

Репутация: нет
Всего: нет



var
Date1,Date2:TDateTime;
begin
Date1:=Now;
ShowMessage('Ждем увеличения системного таймера');
Date2:=Now;
ShowMessage('Разница во времени: '+TimeToStr(Date2-Date1));// или DataToStr(), точно не помню и проверить не где
end;

Date1 b Date2 можно заполнить примерно так:
Date1:=StrToTime(Edit1.Text);
Date2:=StrToTime(Edit2.Text);
// тоже не проверял но обязательно проверю

PM MAIL   Вверх
<Spawn>
Дата 4.2.2003, 03:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Око кары:)
****


Профиль
Группа: Экс. модератор
Сообщений: 2776
Регистрация: 29.1.2003
Где: Екатеринбург

Репутация: 44
Всего: 64



А, если быть точнее, то
Date1:=StrToDateTime()
И насколько я помню вычитание дат вернет неправильный год.


--------------------
"Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков.
PM MAIL ICQ   Вверх
dser
Дата 8.2.2003, 22:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 33
Регистрация: 3.2.2003
Где: Украина Харьковск ая обл.

Репутация: нет
Всего: нет



А вот как сделал я:
//устанавливаем даты на компонентах-календарях - TMonthCalendar и нажимаем волшебную кнопочку

procedure TForm1.bbCalcClick(Sender: TObject);
Var
Year,Month,Day, bDay:Word;
begin
//mcBeg.Date и mcEnd.Date - компоненты TMonthCalendar.
DecodeDate(mcBeg.Date-mcEnd.Date,Year,Month,Day);
Edit2.Text:=IntToStr(1899-Year);//прошло лет
Edit3.Text:=IntToStr(12-Month);//прошло месяцев
Edit4.Text:=IntToStr(30-Day);//прошло дней
end;
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0572 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.