Topic: Дата со строкой - в TDateTime

Че-то туплю совсем уже...
Есть строка формата "yyyy-MM-DD 00:00:00.0000" (например, "2018-03-23 00:00:00.0000"), так вот при выполнении этого кода:

settingDate := SQLExecute('SELECT settingDate FROM GroupPileList WHERE id=' + id_GroupPileList);  // получаем settingDate  // получили строку с датой
 //settingDate := StringReplace(settingDate, '-', '/');
fDate := StrToDateTime(settingDate);  // преобразовали строку в число TDateTime
settingDate := DateToString(fDate); // преобразуем в строку вида "1 января 1970"

выскакивает ошибка, мол, Invalid date and time... какого хрена-то? чего я не учёл?

Re: Дата со строкой - в TDateTime

yyyy-MM-DD 00:00:00.000
данный формат является родным для базы данных, но не для скриптов. Чтобы выполнить преобразование к типу TDateTime необходимо воспользоваться функцией SQLDateTimeToDateTime


if settingDate <> '' then fDate := SQLDateTimeToDateTime(settingDate); // вместо fDate := StrToDateTime(settingDate);
Dmitry.

Re: Дата со строкой - в TDateTime

О как... Не знал, спасибо.