TDate赋值给Variant时注意的问题
//Delphi 10.3.1 32bit, Win 7 32bit procedure TForm1.btnTimeToVariantClick(Sender: TObject); var d:TDate; t:TTime; v:Variant; begin d := Date(); t := Time(); v := d; Assert( VarType(v)=varDouble ); //通过 v := Variant(d); Assert( VarType(v)=varDouble ); //通过 v := VarFromDateTime(d); Assert( VarType(v)=varDate ); //通过 v := t; Assert( VarType(v)=varDouble ); //通过 v := VarFromDateTime(t); Assert( VarType(v)=varDate ); //通过 end;
通过上面的代码,可以看出来,如果你想把日期给Variant类型变量,并且还想让Variant的类型为日期型,即varDate,则需要用VarFromDateTime给Variant类型变量赋值。