Страница 1 из 1
Преобразование формата даты
Добавлено: 04.06.2010 17:50:04
Basileus
При работе с MySQL обнаружилась проблема - нужно изменять введенный формат дд.мм.гггг в гггг.мм.дд. Не подскажете, есть ли какая-нибудь функция, позволяющая это сделать?
Re: Преобразование формата даты
Добавлено: 04.06.2010 18:02:53
Mr.Smart
DateTimeToString
Re: Преобразование формата даты
Добавлено: 05.06.2010 13:06:07
svk12
FormatDateTime
Re: Преобразование формата даты
Добавлено: 07.06.2010 06:36:21
Light13
неплохо бы увидеть код, где это необходимо.
Возможно проблему решит использование параметров в запросе, а возможно изменение маски ввода поля редактирования.
К сожалению, телепатией не страдаю

Re: Преобразование формата даты
Добавлено: 07.06.2010 09:49:45
Alexus
Именно для такого случая:
function DateFlip(St: string): string;
begin
DateFlip := Copy(St, 7, 4) + '-' + Copy(St, 4, 2) + '-' + Copy(St, 1, 2);
end;
Re: Преобразование формата даты
Добавлено: 08.06.2010 06:27:31
Light13
мдя, попробуем включить телепатию
Вы вводите данные в поле редактирования, но в базе данных другой формат данных.
Примерно так вы пытаетесь сохранить значения:
Код: Выделить всё
Query1.SQL.Text:='Insert into TableName (FieldNameForDate) values (' + DateString + ')';
В связи с чем вам нужно менять формат даты, причем, к типу TDateTime ваше значение не имеет прямого отношения - это строка.
Попробуйте заменить прямую вставку значение на параметр, примерно так:
Код: Выделить всё
SQLQuery1.SQL.Text:='Insert into TableName (FieldNameForDate) values ( :ParamDate)';
SQLQuery1.Params.ParamByName('ParamDate').DataType:=ftDate;
SQLQuery1.Params.ParamByName('ParamDate').Value:=DateValue;//тип данных TDateTime
никаких дополнительных преобразований делать не нужно - при конвертировании параметра произойдет автовыбор формата даты. Также можно использовать для ввода значений не edit, а, к примеру, DateEdit