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

Вниз

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

 
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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.017 c
1-53545
Алхимик
2004-02-05 13:07
2004.02.17
TOpenDialog & Dll


1-53505
Goblinus
2004-02-05 21:20
2004.02.17
Получение доступа к свойствам формы по её имени


1-53599
gid
2004-02-07 18:04
2004.02.17
Как высвободить неиспользуемую оперативу?


3-53412
Igoryok
2004-01-24 11:11
2004.02.17
Есть ли Jet 4.0 в MDAC 2.5


1-53461
nv_
2004-02-06 14:42
2004.02.17
Как зарегистрировать в системе свой тип файлов?