如何将像'20 / 11/2012 7:05:14 PM'这样的字符串转换为TDateTime?

时间:2012-11-20 03:48:15

标签: delphi

SysUtils.StrToDate('20/11/2012 7:05:14 PM')抛出异常。如何从该字符串中获取TDateTime

2 个答案:

答案 0 :(得分:5)

要避免此类问题,您必须使用StrToDateTime方法传递TFormatSettings值,并使用要转换的字符串格式设置。

var
  AFormatSettings: TFormatSettings;
  LDateTime : TDateTime;
begin
   AFormatSettings:=TFormatSettings.Create;
   AFormatSettings.ShortDateFormat:='dd/mm/yyyy';
   AFormatSettings.DateSeparator:='/';
   LDateTime:=  StrToDateTime('20/11/2012 7:05:14 PM', AFormatSettings);

答案 1 :(得分:3)

如果您尝试解析日期和时间,则可能应该使用SysUtils.StrToDateTime方法。

否则,如果你从字符串中删除它应该工作的时间,并给你一个日期。