Ошибка преобразования строки в дату и время в Delphi FireMonkey XE7

У меня проблема при преобразовании строки в TDateTime в FireMonkey на мобильных устройствах.

Это всегда дает мне ошибку и не знаю, как это сделать.

Я покажу вам, что я делаю:

function StringToDateTime(DateStr: String): TDateTime;
var
  FS: TFormatSettings;
begin
  result := now;
  FS:= TFormatSettings.Create;
  FS.DateSeparator := '-';
  FS.DateSeparator := ':';
  FS.ShortDateFormat := 'dd-mm-yyyy';
  FS.ShortTimeFormat := 'hh:nn:ss';
  try
   Result := StrToDateTime(DateStr, FS); //the format of the string is : 
         // dd-mm-yyyy hh:nn:ss  '31-03-2015 9:36:00'
  except on E: Exception do
   ShowMessage(e.ToString);
  end;

end;

Исключение составляют:

'31 -03-2015 9:36:00 'не является действительной датой и временем.

1 ответ

Решение

Вы настраиваете DateSeparator дважды

  FS.DateSeparator := '-';
  FS.TimeSeparator := ':';
Другие вопросы по тегам