Ошибка преобразования строки в дату и время в 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 := ':';