首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在一个避免多个国家的DataTable.Select -字符串错配的DateTime上执行DateTime?

问在一个避免多个国家的DataTable.Select -字符串错配的DateTime上执行DateTime?
EN

Stack Overflow用户
提问于 2015-05-17 02:40:59
回答 2查看 1.9K关注 0票数 0

C# .Net 1.1的问题。

如何使用DataTable比较对DateTime进行选择操作,并避免System.DateTime - System.String不匹配,同时以其他国家的日期格式进行此比较工作。

代码语言:javascript
复制
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“,因此可能格式化程序在不同版本之间发生了变化。

EN

回答 2

Stack Overflow用户

发布于 2015-05-17 15:51:23

变化

代码语言:javascript
复制
String.Format("LAST_QUEUED > '{0}'", DateTime.Now);

至

代码语言:javascript
复制
String.Format("LAST_QUEUED > '{0}'", " ' " 
+DateTime.Now.ToString("dd/MM/yyyy")+ " '";
票数 0
EN

Stack Overflow用户

发布于 2015-05-17 17:51:01

我最终选择的解决方案是在CultureInfo.InvariantCulture.DateTimeFormat命名空间中使用System.Globalization格式化程序。

代码语言:javascript
复制
string strSel = String.Format(CultureInfo.InvariantCulture.DateTimeFormat,    "LAST_QUEUED > '{0}'", DateTime.Now);
DataRow[] drArr = DataSetX.TableX.Select(strSel);

请参阅:https://msdn.microsoft.com/en-us/library/system.globalization.cultureinfo.invariantculture%28v=vs.110%29.aspx

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30282812

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档