我正在使用Delphi 2007。

我需要编写一个FormatDateTime函数,该函数始终将01/01 /作为EditValue返回到TDateEdit框(DevExpress组件)。

我已经尝试过...

tcxDateEdit1.EditValue := FormatDateTime('01/01/'+ 'yyyy',now);




tcxDateEdit1.EditValue := FormatDateTime('01/01/yyyy',Now);


但他们都不起作用。
导致将字符串类型的变体转换为double的错误。
“无法将类型(字符串)的变体转换为类型(双精度)”

最佳答案

我只是在猜测,但是您的EditValue属性似乎是TDateTime(或TDate)类型的(而FormatDateTime返回string)。如果是这样,您可以尝试以下操作:

tcxDateEdit1.EditValue := EncodeDate(YearOf(Now), 1, 1);


另请参阅:YearOfEncodeDateFormatDateTime文档

10-08 05:21