Форум: "Основная";
Текущий архив: 2004.10.31;
Скачать: [xml.tar.bz2];
ВнизСложение TTime Найти похожие ветки
← →
Pashkerton (2004-10-19 09:38) [0]Доброе утро. Пусть есть такая последовательность из типов TTime:
10:56:20
7:00:15
4:43:46
10:06:02
10:44:07
2:28:11
Как её корректно просуммировать. TTime не поддерживает > 24 часов. Пытался переводить TTime в double. Сумма получается некорректная.
← →
Rem (2004-10-19 09:49) [1]>>TTime не поддерживает > 24 часов
24 часа = 1 сутки
>>Пытался переводить TTime в doubleTTime = type double;
← →
Алхимик © (2004-10-19 09:53) [2]TTime = TDateTime = Double
← →
Pashkerton (2004-10-19 09:58) [3]Переводил так:
hhmm: double
Функция где result := int(hhmm) + (frac(hhmm) / 0.6);
1.30 => 1.5 (1h.30m = 1.5h)
← →
Pashkerton (2004-10-19 10:02) [4]При операции
TimeToStr(StrToTime("15:00:00")+StrToTime("15:00:00"))
результат бедет 6:00:00. А мне нужно 30:00:00
← →
VMcL © (2004-10-19 10:05) [5]>>Pashkerton (19.10.04 09:38)
К исходному времени прибавить требуемое, переведенное в секунды, если не ошибаюсь.
← →
ЮЮ © (2004-10-19 10:09) [6]TTime - это только дробная часть - доля суток, отсюда и пляши
← →
Алхимик © (2004-10-19 10:09) [7]
> [4] Pashkerton (19.10.04 10:02)
> При операции
> TimeToStr(StrToTime("15:00:00")+StrToTime("15:00:00"))
> результат бедет 6:00:00. А мне нужно 30:00:00
Эта функция переводит время в строку.
Воспользуйся DateTimeToStr или FormatDateTime.
← →
DiamondShark © (2004-10-19 10:55) [8]Как только вы перестанете путать два разных понятия "момент времени" и "количество времени" всё встанет на свои места.
← →
Anatoly Podgoretsky © (2004-10-19 11:55) [9]Pashkerton (19.10.04 09:38)
TTime поддерживает > 24 часов
Pashkerton (19.10.04 10:02) [4]
Такого времени не существует (максимум 23:59:59), неверный формат. Пиши сообственную функцию форматирования
← →
Pashkerton (2004-10-19 12:35) [10]TTime > 24 часов. В эту мною написанную глупость я вник, признаюсь.
← →
Pashkerton (2004-10-19 14:39) [11]Разобрался. Всем спасибо.
var
T: TDateTime;
D: integer;
hh, mm, ss, ms: word;
begin
T := StrToTime("10:56:20") +
StrToTime("7:00:15") +
StrToTime("4:43:46") +
StrToTime("10:06:02") +
StrToTime("10:44:07") +
StrToTime("2:28:11");
D := trunc(T) * 24;
DecodeTime(T, hh, mm, ss, ms);
inc(hh, D);
ShowMessage(Format("%.*d:%.*d:%.*d", [2, hh, 2, mm, 2, ss]));
end;
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.10.31;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.038 c