Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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 в double

TTime = 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.048 c
4-1095928921
Aleksandr.
2004-09-23 12:42
2004.10.31
Модальные окна ордер путают. Как правильнее сделать,?


4-1096278232
DelphiLexx
2004-09-27 13:43
2004.10.31
Загруженность CPU


14-1097520189
Vulko
2004-10-11 22:43
2004.10.31
Блок схема алгоритма быстрой сортировки...


3-1096459367
Bless
2004-09-29 16:02
2004.10.31
Почему парсер в queryAnalizer-е выдает ошибку


8-1091337932
maxistent
2004-08-01 09:25
2004.10.31
растяжка битмапа





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский