Форум: "Базы";
Текущий архив: 2003.02.10;
Скачать: [xml.tar.bz2];
ВнизФигня с TDateTime Найти похожие ветки
← →
Стас (2003-01-21 14:26) [0]Здравствуйте!
Тут обнаружил, что переменная данного типа не может хранить больше часов, чем 24. А мне надо суммировать данные за месяц в часах и минутах, которые в сумме превосходят это число и все скидывается на ноль. Как обойти это?
← →
Anatoly Podgoretsky (2003-01-21 14:28) [1]Потому что она хранит не часы а дни, в дробном виде, но на ноль ничего не скидывается, это у тебя ошибка в программе.
← →
Fiend (2003-01-21 14:30) [2]единственный способ - ЗАСТРЕЛИТЬСЯ!
← →
Стас (2003-01-22 07:19) [3]Она может хранить дни и часы. Вроде так. Но 25 часов превращаются в 1 час.
← →
Anatoly Podgoretsky (2003-01-22 07:41) [4]У тебя ошибка в программе.
← →
Max Zyuzin (2003-01-22 09:09) [5]>Стас (21.01.03 14:26)
Покажи пожалуйста как ты сумируешь часы в программе..
← →
stone (2003-01-22 09:20) [6]
> Но 25 часов превращаются в 1 час.
25 часов превращаютсяв 1 день и 1 час. Если ты показываешь только время, то дней ты, естественно не увидишь.
← →
Chubais (2003-01-22 10:40) [7]ААААААААААААААААААААААААААААА!!!!!!!!!!!!!!!!!!!
← →
BlackTiger (2003-01-22 10:50) [8]Сильно, сильно...
На то оно и DateTime, что бы хранить только 24 часа!
Слабо "56-е число 45-го месяца 56 часов 87 минут 134 секунды"?
Хранить это добро надо в INTEGER (в секундах, минутах, часах), а не в DateTime.
← →
Anatoly Podgoretsky (2003-01-22 10:56) [9]BlackTiger (22.01.03 10:50)
TDateTime нормально хранит это, нет нужды делать извращение с INTEGER
Стас (22.01.03 07:19)
Хинт: время по милитаристкой шкале индициуется как значение в диапазоте от 00:00:00 до 23:59:00, а у тебя какая шкала?
← →
Johnmen (2003-01-22 11:06) [10]Чубайс опять обкакался от смеха...:)
← →
Chubais (2003-01-22 11:12) [11]Johnmen © (22.01.03 11:06)
не, тогда еще не обкакался
прочитал BlackTiger (22.01.03 10:50)
и тогда уж обкакался)))))))))))
← →
wman (2003-01-22 12:24) [12]Можно юзать DecodeTime и DecodeDate или напрямую работать с
TDateTime:
procedure TForm1.Button2Click(Sender: TObject);
var D1, D2, DT: TDateTime;
DTS: TTimeStamp;
SS, HH: Integer;
begin
D1 := StrToDateTime("10.01.2003 2:00:00");
D2 := StrToDateTime("09.01.2003 1:00:00");
DT := D1 - D2;
SS := Trunc(1440 * (DT - Trunc(DT)));
HH := Trunc(DT)* 24;
HH := HH + SS div 60;
SS := SS mod 60;
Caption := IntToStr(HH) + ":" + FormatFloat("00", SS);
end;
← →
Стас (2003-01-22 14:06) [13]Да, 25 часов это 1 сутки и 1 час. Но если в таком виде выводить на отчет, то вместо этих суток машина выставляет какую-то определенную дату, а это совсем не нужно.
>wman
Попробую применить, хотя я уже перековырял все на Float, что конечно не так красиво.
← →
Johnmen (2003-01-22 14:12) [14]>хотя я уже перековырял все на Float, что конечно не так
>красиво.
А чем, по-твоему, TDateTime отличается от float ?
← →
stone (2003-01-22 14:52) [15]2 Стас (22.01.03 14:06)
Тогда DecodeTime и DecodeDate тебе помогут.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2003.02.10;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.008 c