C#:为什么我的SqlDateTime.MinValue在不同的机器上有所不同?

Tal*_*ode 5 c# datetime

我刚刚发现我的SqlDateTime.MinValue在不同的机器上是不同的.

有时它是= DateTime(1953,1,1,0,0,0);

但在其他机器上它是= DateTime(1753,1,1,0,0,0);

怎么可能?两台机器上的操作系统都是WinXP SP2.

编辑:

我的代码是这样的:

DateTime date;

...

if (date == SqlDateTime.MinValue)
{
    return "(any)";
}
else
{
    return date.ToString();
} 
Run Code Online (Sandbox Code Playgroud)

这段代码永远不会返回1753年1月1日,但确实如此(在某些机器上).我的代码不使用日期的分钟和秒,并且应始终保持默认值.

Gre*_*ech 0

您确定您对不同值的理解是正确的吗?SqlDateTime在 MSDN 上记录为所有版本的 .NET Framework都有固定的开始日期:

SqlDateTime 结构的最小有效日期是 1753 年 1 月 1 日。

如果它确实可以重现,那么听起来这将是 .NET Framework(或文档)中的一个错误,因此 Microsoft 将成为寻求帮助的人。如果发现问题是错误,支持电话是免费的。