Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.11.08;
Скачать: CL | DM;

Вниз

подсчет времени   Найти похожие ветки 

 
Время   (2009-09-23 05:49) [0]

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


 
brother ©   (2009-09-23 06:03) [1]

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


 
sniknik ©   (2009-09-23 07:50) [2]

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


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

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

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

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


 
Anatoly Podgoretsky ©   (2009-09-23 09:12) [4]


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

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


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

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


 
Ega23 ©   (2009-09-23 10:01) [6]


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


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


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

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;


 
faiwer ©   (2009-09-24 11:56) [8]

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


 
Anatoly Podgoretsky ©   (2009-09-24 12:05) [9]

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

myTime + 1


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


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


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

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


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

IncDay в студию )))


 
Sha ©   (2009-09-24 13:29) [12]

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

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


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

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

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


 
faiwer ©   (2009-09-24 13:48) [14]

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


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

Блеск!


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

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



Страницы: 1 вся ветка

Текущий архив: 2009.11.08;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.015 c
8-1198161253
ZXMaster
2007-12-20 17:34
2009.11.08
chroma key DirectShow


2-1253616806
night_light
2009-09-22 14:53
2009.11.08
передача динамического массива в CreatePolygonRgn


1-1222455005
Игорь
2008-09-26 22:50
2009.11.08
Как получить доступ к процессу audiodg.exe под Windows Vista


2-1253272954
Mishenka
2009-09-18 15:22
2009.11.08
Какой тип параметра выбрать для передачи Memo поля в ADOStorProc


2-1253899875
tassa
2009-09-25 21:31
2009.11.08
Построение графика