Версия для печати
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум на Исходниках.RU > Delphi for PHP > DateTimePicker ifFormat |
Автор: Zajigaev 15.03.10, 13:17 |
поле в базе MySQL - DATETIME. Выставляю в инспекторе у элемента DateTimePicker свойство ifformat=%d-%m-%Y %H:%M. все равно при загрузке формы первый раз дата появляется в DateTimePicker в формате %Y-%m-%d %I:%M (так по умолчанию).Выбираю дату в календаре - показывает в нужном формате. При записи в базу - дает ошибку - те неправильно интерпретирует дату.Ставил форматирование перед записью данных в элемент <{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}> $this->DateT_end->setIfFormat('%d-%m-%Y %H:%M'); $this->DateT_end->Text=$row['data_end']; не помогает поменял формат в comctrls.ini.php и у календаря и в DateTimePicker На %d-%m-%Y %H:%M - не помогает база дает ошибку Incorrect datetime value: '23-08-2030 16:06' for column 'data_end' at row 1 (в формате по умолчанию все работает) то же наблюдается и в DBGrid (отображает дату в формате %Y-%m-%d %H:%M что делать? спасибо |
Автор: vicis 15.03.10, 14:20 |
я так делал <{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}> function DateRusToDateSQL($DateText) /* преобразуем дату из формата d-m-Y в формат для sql Y-m-d */ { if ($DateText!=null) { return strftime("%Y-%m-%d",strtotime($DateText)); } else { return ''; } } function DateSQLToDateRus($DateText) /* преобразуем дату из формата для sql Y-m-d в формат d-m-Y*/ { if ($DateText!=null) { return strftime("%d.%m.%Y",strtotime($DateText)); } else { return ''; } } вариант использования при записи в базу function SaveOrder() { $this->tbstuff1->ank_date=DateRusToDeteSQL($this->DTP_DateAnketa->Text); $this->tbstuff1->Post(); } при отображении из базы function actExecute($sender, $params) { global $DefaultCurrencyID,$index; $edit_id=$this->input->id; if ($params['action']=='append') { .... } if ($params['action']=='sel') { ... } if ($params['action']=='selok') { ... } if ($params['action']=='delete') { .... } $this->DTP_DateAnketa->Text=DateSQLToDateRus($this->tbstuff1->ank_date); } см функцию mysql DATE_FORMAT возможно что ещё так можно попробовать %d.%m.%Y |
Автор: Zajigaev 16.03.10, 08:41 |
все получилось преобразование даты при считывании из базы переложил на sql как в My Webpage спасибо |