C# .Net 1.1的问题。
如何使用DataTable比较对DateTime进行选择操作,并避免System.DateTime - System.String不匹配,同时以其他国家的日期格式进行此比较工作。
string strSel = String.Format("LAST_QUEUED > '{0}'", DateTime.Now);
DataRow[] drArr = DataSetX.TableX.Select(strSel);LAST_QUEUED起源于美国的甲骨文DateTime字段,读入类型为DateTime的等效类型化DataSet表字段。上述选择是在西班牙进行的。
在.Net 1.1中,我使用“{0}”和.Net 4.0 #{0}#。然而,当我们在西班牙运行.Net 1.1版本时,我会得到一个错误,“无法在System.DateTime和System.String上执行>操作”。(说得通)。如果我仍然使用.Net 1.1将#{0}#格式化程序转换为#{0}#格式化程序,则会得到"String不被识别为有效的DateTime“,因此可能格式化程序在不同版本之间发生了变化。
发布于 2015-05-17 15:51:23
变化
String.Format("LAST_QUEUED > '{0}'", DateTime.Now);至
String.Format("LAST_QUEUED > '{0}'", " ' "
+DateTime.Now.ToString("dd/MM/yyyy")+ " '";发布于 2015-05-17 17:51:01
我最终选择的解决方案是在CultureInfo.InvariantCulture.DateTimeFormat命名空间中使用System.Globalization格式化程序。
string strSel = String.Format(CultureInfo.InvariantCulture.DateTimeFormat, "LAST_QUEUED > '{0}'", DateTime.Now);
DataRow[] drArr = DataSetX.TableX.Select(strSel);https://stackoverflow.com/questions/30282812
复制相似问题