在Delphi FireMonkey XE7中将字符串转换为datetime时出错

时间:2015-03-31 09:41:25

标签: delphi delphi-xe7 tdatetime

在移动设备中将字符串转换为FireMonkey中的TDateTime时出现问题。

它总是给我错误,不知道该怎么做。

我告诉你我做了什么:

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 个答案:

答案 0 :(得分:1)

您正在配置DateSeparator两次

  FS.DateSeparator := '-';
  FS.TimeSeparator := ':';