【发布时间】:2018-01-10 20:41:17
【问题描述】:
由于我无法控制的原因,我发现自己使用的是 .net mobile 3.5。我需要能够在主键为 DateTime 的 DataTable 上使用 Rows.Find(Object) 函数。
例如:DataRow temp = exDataSet.exDataTable.Rows.Find(exDateTime);
我无法使 C# DateTime 值与存储在 DataTable 中的值匹配。
根据这些论坛和其他资源的指导,我尝试更改 DataColumn 的 DateTimeMode,我尝试将 DateTime 转换为 SqlDateTime,并且我尝试了(不太需要).ToString("yyyy-MM-dd HH:mm:ss") 函数,全部为否利用。另外,据我所知,我无法使用 DateTime2。
有什么建议吗?
【问题讨论】:
-
问题是否特定于 .net mobile 3.5?您可以在 c# 桌面控制台应用程序或.net fiddle 中重现该问题吗?此外,从
DateTime.Equals()的docs:如果它们的 Ticks 属性值相等,则 t1 和 t2 相等。他们的Kind 属性值在相等性测试中不被考虑。 也许您表中的DateTime键在您打印到字符串时看不到的时钟滴答有一些微小差异? -
问题本身并不特定于.net mobile 3.5,但解决方案可能是。其他地方的某些功能和建议的解决方案(例如 DateTime2)仅在更高版本或非移动版本中引入。
标签: c# datetime mobile visual-studio-2008 sqldatetime