E2010不兼容的类型:'string'和'Int64'

时间:2017-02-10 12:09:23

标签: delphi

我想将当前日期/时间存储为数据库中的Unix时间戳,并构建SQL查询。

IntToStr(DateTimeToUnix(Now()))
  

[dcc32错误] fMainForm.pas(186):E2010不兼容的类型:'string'和'Int64'

如何将当前日期/时间作为Unix时间戳?

1 个答案:

答案 0 :(得分:1)

这个程序

{$APPTYPE CONSOLE}

uses
  System.SysUtils,
  System.DateUtils;

begin
  Writeln(IntToStr(DateTimeToUnix(Now())));
  Readln;
end.

成功运行并输出当前的Unix时间。因此,我得出结论,您提供的代码不会产生您报告的错误。该错误源于其他一些不属于问题的代码。

据推测,您正在使用该表达式并尝试在整数上下文中使用它。这可以解释错误。如果您需要将值作为整数而不是字符串,则更改

IntToStr(DateTimeToUnix(Now()))

DateTimeToUnix(Now())

这是一个完美的例子,说明为什么这样的问题在提交MCVE时更好。