Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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.009 c
1-28766
NsiSoft
2003-02-01 13:47
2003.02.10
Программное обеспечиние


3-28635
Siv Soft
2003-01-22 17:04
2003.02.10
Рвет кодировку MSSQL -> dbase IV


1-28918
SergeN
2003-01-31 09:21
2003.02.10
try...except


3-28671
qwerty2
2003-01-24 11:33
2003.02.10
Символ скобки в предложении LIKE


8-28936
МитяЙ2
2002-10-16 16:50
2003.02.10
Графики...





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский