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

Вниз

Проблема со сложением значений дата и время   Найти похожие ветки 

 
Dima2002   (2003-12-02 20:13) [0]

Всем привет!
У меня такая проблема:
На форме есть два компонента TDateTimePicker -
В первом набирается значение времени ETime:=EebTime.Time;(в FormCreate EebTime.Time:=Now), во втором дата в формате dd.mm.yyyy:
Reb:=RebEdit.Date;
Затем мне надо сложить их так, чтобы в базе хранилась дата в формате dd.mm.yyyy hh.mm.
Я пытаюсь выполнить следующее:
EndofTime:=StrToDateTime(DateTimeToStr(ReE)+" "+TimeToStr(ETime));
Но по ShowMessage(DateTimeToStr(Endoftime));
у меня выводится
например :
02.12.2003 13:54
И так всё время,при вводе в поля компонентов любых значений, всмысле 13:54 в любое время суток:))

Что это может быть? Системное время установлено нормальное и часы идут:)))


 
Вася Пупкин   (2003-12-02 20:52) [1]

Брр... а зачем такие сложности?


 
Вася Пупкин   (2003-12-02 20:55) [2]

RebEdit.Time:=EebTime.Time;
ShowMessage(DateTimeToStr(RebEdit.DateTime));


 
Вася Пупкин   (2003-12-03 00:47) [3]

А что касается твоего вопроса:
>EndofTime:=StrToDateTime( DateTimeToStr(ReE)+" "+TimeToStr(ETime));
>Но по ShowMessage(DateTimeToStr(Endoftime));
>у меня выводится
>например :
>02.12.2003 13:54
>И так всё время,при вводе в поля компонентов любых значений, >всмысле 13:54 в любое время суток:))
Естественно...потому что тут нужно было не DateTimeToStr(ReE) а DateToStr(ReE)


 
Dima2002   (2003-12-03 09:47) [4]

Спасибо за ответы.
Но дело в том, что у меня ShowMessage используется только для отладки, в ней не суть, мне нужно хранить в базе значение Дата + Время, вообщем значение даты с точностью до минут, так после сложения
EndofTime:=StrToDateTime(DateTimeToStr(ReE)+" "+TimeToStr(ETime));
я как раз и рассчитываю получить это значение.
Если складывать просто
EndofTime:=ReE+ETime;
То в базу валится значение 2107 год и время что то около 4:30
а по
EndofTime:=StrToDate(DateTimeToStr(ReE)+" "+TimeToStr(ETime));
Вылетает исключение:
""03.12.2003 13:54:42 9:42:03"- not valid date"
где 9:42 - правильное значение:))


 
Dima2002   (2003-12-03 09:49) [5]

Просто очень не хочется заводить под значение времени отдельное поле в таблице, да их к тому же придётся делать 2, так как у меня в базе храниться интервал с границами типа DateTime, с точностью до минут.


 
Dima2002   (2003-12-03 10:04) [6]

Только что доперло:)) Всем СПАСИБО!
Получилось так:
EndofTime:=StrToDateTime(DateToStr(ReE)+" "+TimeToStr(ETime));
Выдаёт правильное значение:))


 
Вася Пупкин   (2003-12-03 10:32) [7]

Похоже, еще не доперло -)
>Если складывать просто
>EndofTime:=ReE+ETime;
>То в базу валится значение 2107 год и время что то около 4:30

значити, что-то делаешь неправильно. Поставь эксперимент. DateTimePicker1 - DkDate, DateTimePicker2 - DkTime. Выстави в первом дату, во втором время и
DateTimePicker1.Time:=DateTimePicker2.Time;
И посмотри, что получится.


 
Alex Konshin   (2003-12-03 13:34) [8]

Могу предложить свой компонент DateComboBox, в котором можно указать сразу и дату, и время.
http://home.earthlink.net/~akonshin/index.htm
Правда, конкретно сейчас какие-то проблемы у провайдера, но, думаю, когда ты будешь читать уже все разрешится.



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

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

Наверх




Память: 0.46 MB
Время: 0.009 c
11-53437
dataMaster
2003-06-02 12:57
2004.02.17
Как распечатать форму?


3-53392
Alex-kosmonavt
2004-01-27 10:59
2004.02.17
Покрасить строчку в DBGrid


3-53359
Fom
2004-01-28 12:29
2004.02.17
Как в FB переименовать таблицу с данными?


1-53502
aga123
2004-02-09 11:53
2004.02.17
fastreport


1-53473
Aleksandr
2004-02-06 13:11
2004.02.17
Какой управляющей последов. можно сделать текст по центру?





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