![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
подсчет времени
Время © (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]переведи часы в минуты, вычти, переведи в часы