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

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

подсчет времени


Время ©   (2009-09-23 05:49:00) 

Подскажите как грамотно подсчитать время оставшеесямежду установленным , допустим 06:00:00 и нынешнем, допустим 07:00:00 должно получиться 23 часа (23:00:00). А никак не выходит.
В понятие "Оставшееся" я имею в виду, обратный таймер между начальным начальным временем 06:00:00и нынешним : 07:00:00. То есть. проще говоря, если поставить будильник на 06:00:00, а сейчас 07:00:00 то будильник покажет что осталось до звонка - 23 часа. Вот КАКправильно посчитать это время? Никак не выходит :( Помогите пожалуйста.


Jeer   (2009-09-24 16:05:00) [1]

Мне понравилось по TNanoTime - так жизненно и позитивно :)


Franzy   (2009-09-24 13:53:00) [2]

Блеск!


faiwer   (2009-09-24 13:48:00) [3]

zomg... я думал я индусс, а тут ... ) точно в избранное


Омлет   (2009-09-24 13:42:00) [4]

> http://guildalfa.ru/alsha/node/6

О да! В избранное!


Sha   (2009-09-24 13:29:00) [5]

> Омлет   (24.09.09 13:01) [11]
> IncDay в студию )))

Так то ж моя любимая функция :)
http://guildalfa.ru/alsha/node/6


Омлет   (2009-09-24 13:01:00) [6]

IncDay в студию )))


Плохиш   (2009-09-24 12:35:00) [7]


> ровно 1 день?


> TimeToStr('0:0:1');

Хороша трава...


Anatoly Podgoretsky   (2009-09-24 12:05:00) [8]

> faiwer  (24.09.2009 11:56:08)  [8]

myTime + 1


faiwer   (2009-09-24 11:56:00) [9]

cорри что вклиниваюсь, а как добавить к переменной TTime или TDateTime ровно 1 день? (24 часа). я делал так: myTime:=myTime + TimeToStr('23:59:59') + TimeToStr('0:0:1');
но это как то по индусски :D


Sha   (2009-09-23 10:57:00) [10]

procedure TForm1.Button1Click(Sender: TObject);
var
 TimeNow, TimeWakeup, TimeDelta: TDateTime;
begin
 TimeNow:=Time;
 TimeWakeup:=TimeNow-1/24;
 TimeDelta:=Frac(TimeWakeup-TimeNow+1);
 ShowMessage(FormatDateTime('hh:nn:ss',TimeDelta));
end;


Ega23   (2009-09-23 10:01:00) [11]


> А если просто не используется дата, а только время :)


Используй TDateTime. Избежишь многих геморов.


Рамиль   (2009-09-23 09:13:00) [12]

Разница в часах
(DateTime1 - DateTime2) * 24
в минутах
(DateTime1 - DateTime2) * 24 * 60
и т. д.


Anatoly Podgoretsky   (2009-09-23 09:12:00) [13]


> должно получиться 23 часа

Должна получиться ерунда. Поскольку отсутствует информация о дне.


Vitaliy_____   (2009-09-23 07:55:00) [14]

Если установленное меньше текущего (см. CompareTime), то результат=24 часа-разница, иначе результат=разница.
Для разницы полно ф-й, например MilliSecondsBetween, см. DateUtils - можно в секундах, минутах, часах - как угодно. Обычно беру в миллисекундах, а потом расписываю как мне надо.

> sniknik ©   (23.09.09 07:50) [2]

А если просто не используется дата, а только время :)


sniknik   (2009-09-23 07:50:00) [15]

> КАК правильно посчитать это время?
завтра 6ч - (минус) сегодня 7ч = 23ч. все правильно, непонятно, что у тебя в операции разности не выходит, и как можно отнять неправильно...


brother   (2009-09-23 06:03:00) [16]

переведи часы в минуты, вычти, переведи в часы


Наверх

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