Главная страница
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.012 c
11-1207590818
MTsv DN
2008-04-07 21:53
2009.11.08
Перехват инфы из консольки


2-1253197239
d@vinchi
2009-09-17 18:20
2009.11.08
Обновление данных в DbGrid в реальном времени?


1-1222428416
Gurd
2008-09-26 15:26
2009.11.08
Синхронизация двух ScrollBox


2-1253193476
webpauk
2009-09-17 17:17
2009.11.08
Модальная форма


1-1222978239
DmitriyG.
2008-10-03 00:10
2009.11.08
Программное получение стека