我刚刚发现我的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日,但确实如此(在某些机器上).我的代码不使用日期的分钟和秒,并且应始终保持默认值.
您确定您对不同值的理解是正确的吗?SqlDateTime在 MSDN 上记录为所有版本的 .NET Framework都有固定的开始日期:
SqlDateTime 结构的最小有效日期是 1753 年 1 月 1 日。
如果它确实可以重现,那么听起来这将是 .NET Framework(或文档)中的一个错误,因此 Microsoft 将成为寻求帮助的人。如果发现问题是错误,支持电话是免费的。
| 归档时间: |
|
| 查看次数: |
1117 次 |
| 最近记录: |