'23/02/2011 12:34:56' is not valid date and time

前端 未结 3 774
半阙折子戏
半阙折子戏 2020-12-16 12:59

In my code I am facing a problem. Example code:

var 
    d1: tdatetime
begin
    d1 := strtodatetime(\'23/02/2011 12:34:56\');
end; 

but it

3条回答
  •  情歌与酒
    2020-12-16 13:41

    the StrToDateTime function uses the ShortDateFormat and DateSeparator to convert the date part and the LongTimeFormat and TimeSeparator to the time part. so you string must match with theses variables to convert the string to TDateTime. instead you can use the StrToDateTime with the TFormatSettings parameter, to parse you string.

     function StrToDateTime(const S: string; const FormatSettings: TFormatSettings): TDateTime; 
    

    check this sample

    Var
    StrDate : string;
    Fmt     : TFormatSettings;
    dt      : TDateTime;
    begin
    fmt.ShortDateFormat:='dd/mm/yyyy';
    fmt.DateSeparator  :='/';
    fmt.LongTimeFormat :='hh:nn:ss';
    fmt.TimeSeparator  :=':';
    StrDate:='23/02/2011 12:34:56';
    dt:=StrToDateTime(StrDate,Fmt);
    

提交回复
热议问题