Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2004.05.02;
Скачать: [xml.tar.bz2];

Вниз

Дата и время в дельфи   Найти похожие ветки 

 
unicode ©   (2004-04-06 12:21) [0]

Проблема такая... есть время 01:00 но это не час утра а 01:00 ночи... и есть другое время 23:00 вечера.. задача такая найти разницу между ними но не в 22 часа как это делает дельфи, а настоящую разницу между ними которая фактически 2 часа... как дельфи заставить понять это .. Заранее Спасибо..


 
Anatoly Podgoretsky ©   (2004-04-06 12:24) [1]

Это не возможно


 
jack128 ©   (2004-04-06 12:24) [2]


> но не в 22 часа как это делает дельфи

А как это дельфи получила 22 часа?
Date1 := EncodeDate(2004, 1, 10) + EncodeTime(23, 0, 0, 0);
Date2 := EncodeDate(2004, 1, 11) + EncodeTime(1, 0, 0, 0);

ShowMessage(TimeToStr(Date2 - Date1));


 
KapitanSerg ©   (2004-04-06 12:25) [3]

А время то в каком формате? Если TDateTime, то проблема отсутствует!


 
Anatoly Podgoretsky ©   (2004-04-06 12:25) [4]

jack128 ©   (06.04.04 12:24) [2]
У него только время!!!


 
Digitman ©   (2004-04-06 12:26) [5]


> как дельфи заставить понять это


использовать не TTime, а TDateTime


 
unicode ©   (2004-04-06 12:30) [6]

дата может быть только у одного... то есть в правой части
ддопустим 01:00 это константа а справа есть 02.01.2004 23:20:00 а если так то тогда что....


 
han_malign ©   (2004-04-06 12:30) [7]

>01:00 но это не час утра а 01:00 ночи...
- здрасте приехали, а еще час дня и час вечера - не слишком ли много "часов" в сутках получится?


 
jack128 ©   (2004-04-06 12:31) [8]


> использовать не TTime, а TDateTime

И что это даст?

> У него только время!!!

точной даты знать не обязательно, достаточно знать разность дат.. Если это не известно, то вопрос, конечно, бредовый..


 
han_malign ©   (2004-04-06 12:32) [9]

>ддопустим 01:00 это константа а справа есть 02.01.2004 23:20:00
- и откуда интересно компилятор должен узнать что был переход через сутки, и причем только через одни?


 
unicode ©   (2004-04-06 12:33) [10]

<- здрасте приехали, а еще час дня и час вечера - не слишком ли много "часов" в сутках получится?
/I> нет не слишком если учесть что 1 дня это 13:00...


 
KapitanSerg ©   (2004-04-06 12:34) [11]

>И что это даст?
Тогда разницу в часах можно получить простыи вычитанием вчерашней даты из сегодняшней!


 
Digitman ©   (2004-04-06 12:48) [12]


> jack128 ©   (06.04.04 12:31) [8]


см. [11]


 
Anatoly Podgoretsky ©   (2004-04-06 13:00) [13]

KapitanSerg ©   (06.04.04 12:34) [11]
При наличии даты, чего по вопросу нет. [0] [6]


 
KapitanSerg ©   (2004-04-06 13:05) [14]

>Anatoly Podgoretsky ©   (06.04.04 13:00) [13]
Автора!!!!!!!!!!!!
Ну, что мoлчим?


 
Anatoly Podgoretsky ©   (2004-04-06 13:07) [15]

Ну был автор, все равно ничего конкретного не сказал, думаешь что ни будь изменится?


 
Ega23 ©   (2004-04-06 13:19) [16]

А если первое время - 22 часа, а второе - 23, то какая разница будет? 1 час, 11 часов или 23 часа?


 
unicode ©   (2004-04-06 13:58) [17]

первое вермя всегда являеться константой но только время даты там нет а т.е. допустим 01:00 ночи...справа от него стоит дата которая по времени вероятней всего будет раньше а т.е.
2004-01-01 23:30:00 по сути она действительно меньше на полтора часа а вот как ее вычислить?


 
Ega23 ©   (2004-04-06 14:05) [18]

По часовой стрелке двигаться нужно, или против? Или туда, куда ближе?


 
KapitanSerg ©   (2004-04-06 14:11) [19]

Не понял, так "01:00 ночи" это TTime?


 
Anatoly Podgoretsky ©   (2004-04-06 14:18) [20]

unicode ©   (06.04.04 13:58) [17]
Если она меньше, то прибавь 24 часа и проведи вычитание времени, можно наоборот, сначала вычитание, потом прибавление.


 
Fredericco ©   (2004-04-06 14:30) [21]

Может
Min((Date1-Date2),(Date2-Date1));
?


 
}|{yk ©   (2004-04-06 14:57) [22]

Сдается мне что время-то может храниться (в крайнем случае м.б. преобразовано) в секундах. И отнимай сколько влезет. Только прибавлять надо умеючи :)


 
fatal ©   (2004-04-06 15:21) [23]

Что Вы мудохаетесь.
В Delphi TDateTime - есть число с плавающей точкой
целая часть - дни, дробная часть - часы

пример
0.00 - 31.12.1899 0:00
3.75 - 02.01.1900 18:00

DateTimePicker3.Time:=DateTimePicker2.Time-DateTimePicker1.Time; (=2)
DateTimePicker1.Time:={01:00}
DateTimePicker1.Date:={07.04.2004}
DateTimePicker2.Time:={23:00}
DateTimePicker2.Date:={06.04.2004}


 
Дремучий ©   (2004-04-06 15:38) [24]

в орешник -- после ветки об иконке в трее. :))



Страницы: 1 вся ветка

Форум: "Потрепаться";
Текущий архив: 2004.05.02;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.49 MB
Время: 0.037 c
4-1078825864
X9
2004-03-09 12:51
2004.05.02
Переключение задач.


1-1081938491
metalfan
2004-04-14 14:28
2004.05.02
"нажать" кнопу в чужом окне...


3-1080281412
31512
2004-03-26 09:10
2004.05.02
Полтергейсты SQL Server или всё "намана"?


3-1080830024
White
2004-04-01 18:33
2004.05.02
Запущен ли InterBase Server?


11-1063023330
Ал
2003-09-08 16:15
2004.05.02
Как изменить иконку в окне MessageBox





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