Delphi的又一小缺陷: TDate赋值给Variant得到varDouble而不是varDate

Posted kinglandsoft

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Delphi的又一小缺陷: TDate赋值给Variant得到varDouble而不是varDate相关的知识,希望对你有一定的参考价值。

//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;

 

以上是关于Delphi的又一小缺陷: TDate赋值给Variant得到varDouble而不是varDate的主要内容,如果未能解决你的问题,请参考以下文章

delphi怎么把一维数组赋值给memo delphi

delphi 常量数组赋值给变量数组

Delphi语言里的常量和变量

DELPHI如何获取并赋值给一个对象的方法

delphi 整型赋值为字节,

Delphi 中 如何将函数的地址赋值给指针变量?