为什么使用这些命令在Delphi和SQL Server中转换日期之间存在差异:
SQL Server:
SELECT CAST(GETDATE() AS FLOAT)
德尔福:
writeln(floattostr(now));
示例:今天
SQL Server = 40871.431264506
Delphi = 40873.4333729861
为什么两种结果不同?
答案 0 :(得分:4)
因为许多语言在内部处理日期的方式不同。它们可能会或可能不会在内部将它们存储为浮动,也可能在不同的“开始”日期开始计数。例如,Delphi于1899年12月30日开始(TDateTime为0)。
另见this link。