Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.02.10;
Скачать: CL | DM;

Вниз

Фигня с 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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.009 c
6-28970
Scorpion [BC]
2002-12-18 19:45
2003.02.10
Как через локальную сеть общаться по микрофону?


1-28844
FLAW
2003-02-03 00:08
2003.02.10
Как удалить из txt-файла все кроме букв?


1-28912
cta
2003-01-31 08:49
2003.02.10
Fatal error


3-28661
denislpopov
2003-01-23 16:33
2003.02.10
TADOConnection.ConnectionString


3-28624
AnatoliJ
2003-01-14 02:19
2003.02.10
Pomogite mne please v DBGrid programno zapisat dannije





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