0

我们在客户站点上遇到问题,我们正在导入一个包含两个日期字段(开始和结束日期/时间,精确到秒)的 CSV 文件。导入代码将两个日期之间的差异计算为TimeSpan,然后我们将 保存TotalSeconds到数据库中(在real字段中)。

在我们的开发环境中完美运行 - 但由于某种原因,在客户站点上,时间差在计算中产生了一些小错误,因此 123 秒的时间差经常在数据库中显示为 123.0001 秒或 122.9999 秒. 我们无法在此处重现该问题。

我记得很多年前 Pentium 处理器存在一些问题,它们会产生奇怪的浮点计算错误(因此它们被称为 5.0001-ium 处理器),但我不记得细节了。客户站点上是否可能存在类似问题,即日期/时间计算被特定类型的处理器搞砸了?你能想到这种奇怪行为的其他可能原因吗?

代码非常简单。我已经编辑了一些无关的东西,但它是这样的:

DateTime startDate, endDate; 
// set startdate and enddate by parsing from CSV file
var timeDiff = endDate.Subtract(startDate);
// and we save to the database using timeDiff.TotalSeconds
4

1 回答 1

0

在将其放入数据库之前,将数字四舍五入为整数。

于 2012-06-17T11:42:52.247 回答