DataView中的过滤日期时间不过滤分钟和秒

发布于 2024-11-18 16:39:29 字数 558 浏览 8 评论 0原文

我有以下代码(按日期时间过滤的 DataView):

dv = new DataView(
        dataTable1,
        "DateTime >= '" + Convert.ToDateTime("7/5/2011 9:21:00 AM") + "'",
        "ID ASC", DataViewRowState.CurrentRows);

我的 datatable1 在日期时间列中包含以下数据:

  • A:“7/5/2011 9:20:59 AM”
  • B:“7/5/2011 9 :21:00 上午"
  • C: "7/5/2011 9:21:01 上午"
  • D: "7/5/2011 9:22:00 上午"

据说,只有 A 应该被过滤。 但我的代码也过滤了ABC,并且只返回D

怎么了?

I have the following code (a DataView that filtered by DateTime):

dv = new DataView(
        dataTable1,
        "DateTime >= '" + Convert.ToDateTime("7/5/2011 9:21:00 AM") + "'",
        "ID ASC", DataViewRowState.CurrentRows);

My datatable1 consist of the following data in the DateTime column:

  • A: "7/5/2011 9:20:59 AM"
  • B: "7/5/2011 9:21:00 AM"
  • C: "7/5/2011 9:21:01 AM"
  • D: "7/5/2011 9:22:00 AM"

Supposedly, only A should get filtered.
But my code has A, B and C filtered as well, and only returns D.

What is wrong?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

风月客 2024-11-25 16:39:29

试试这个

dv = new DataView(
    dataTable1,
    "CONVERT(DateTime, System.DateTime) >= '" + Convert.ToDateTime("7/5/2011 9:21:00 AM") + "'",
    "ID ASC", DataViewRowState.CurrentRows);

Try this

dv = new DataView(
    dataTable1,
    "CONVERT(DateTime, System.DateTime) >= '" + Convert.ToDateTime("7/5/2011 9:21:00 AM") + "'",
    "ID ASC", DataViewRowState.CurrentRows);
飘过的浮云 2024-11-25 16:39:29

尝试用 # 括住日期字符串。例如:

dv = new DataView(
        dataTable1,
        "DateTime >= #" + Convert.ToDateTime("7/5/2011 9:21:00 AM") + "#",
        "ID ASC", DataViewRowState.CurrentRows);

Try enclosing the date string with #. For example:

dv = new DataView(
        dataTable1,
        "DateTime >= #" + Convert.ToDateTime("7/5/2011 9:21:00 AM") + "#",
        "ID ASC", DataViewRowState.CurrentRows);
池木 2024-11-25 16:39:29

删除convert.todatetime

你可以试试这个

String date1 =String.Empty ;
date1 = "7/5/2011 9:21:00 AM";
dv = new DataView(dataTable1,"DateTime >= #" + date1 + "#", "ID ASC", DataViewRowState.CurrentRows);

Remove the convert.todatetime.

You can try this

String date1 =String.Empty ;
date1 = "7/5/2011 9:21:00 AM";
dv = new DataView(dataTable1,"DateTime >= #" + date1 + "#", "ID ASC", DataViewRowState.CurrentRows);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文