У меня возникла проблема при преобразовании строки в TDateTime в FireMonkey на мобильных устройствах.Ошибка преобразования строки в datetime в Delphi FireMonkey XE7
Это всегда дает мне ошибку и не знает, как это сделать.
Я покажу вам, что я делаю:
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' не является действительной датой и временем.
возможно дубликат [Преобразование с StrToDateTime и TFormatSettings не работает] (http://stackoverflow.com/questions/13308472/conversion-with-strtodatetime-and -tformatsettings-does-not-work) –
У вас есть опечатка в коде. Используйте 'FS.TimeSeparator: = ':';' – TLama