Главная страница
    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.007 c
8-53664
Аноним
2003-10-17 08:24
2004.02.17
Работа с графикой


6-53678
Werewolfru
2003-12-13 18:43
2004.02.17
Как программно получить статус пользователя по его UIN`у


9-53352
McSimm
2003-08-01 17:23
2004.02.17
Просьба высказаться в опросе Стоит ли объединить Media / Игры?


1-53573
абырвалГ
2004-02-08 15:34
2004.02.17
Последняя видемая строка


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