Форум: "Начинающим";
Текущий архив: 2009.11.08;
Скачать: [xml.tar.bz2];
Внизподсчет времени Найти похожие ветки
← →
Время (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;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.005 c