Delphi 字符串转日期,强大到窒息,VarToDateTime 解决了 困扰很久的小问题

procedure THRForm.Button1Click(Sender: TObject);
var
  D:TDateTime;
  s:string;
begin
  D:=VarToDateTime('05-10-14 04:35PM');
  S:=FormatDatetime('YYYY-MM-DD HH:MM:SS',D);
  showmessage(s);
end;

 

尤其是在进行数据库语句操作时,对于字符串的来源不确定因素太多,有了该函数用起来真的很方便。举例如下:

用VarToDateTime构建一个新的函数SetFieldDate,然后使用该函数为数据库时间字段赋值,只需

FQuery.Parameters.ParamValues['Brithday'] := SetFieldDate(edit1.Text);
function SetFieldDate(str: string): Variant;
begin
  if str = '' then
    result := Null
  else
    result := StrToDateTime(FormatDatetime('YYYY-MM-DD', VarToDateTime(str)));
end;

 

当然上述函数也可以简化为:

1 function SetFieldDate(str: string): Variant;
2 begin
3   if str = '' then
4     result := Null
5   else
6     result := VarToDateTime(str);
7 end;

 

posted @ 2018-08-14 16:24  磨叽开发者  阅读(3412)  评论(2编辑  收藏  举报