【问题标题】:linq select distinct date from a DataTablelinq 从数据表中选择不同的日期
【发布时间】:2011-08-20 07:05:05
【问题描述】:

我想从 DataTable 中获取不同的日期。目前我正在使用以下代码:

MyDataTable.DefaultView.ToTable(true, "MyDateColumn");

这段代码也考虑了时间,但我不想考虑时间。我编写了以下代码以仅选择日期部分,但在区分时它也考虑了时间。

MyDataTable.AsEnumerable()
      .Select(row => new { MyDateColumn = row.Field<DateTime>("MyDateColumn").ToString("d") }).Distinct();

请帮助我只选择不同的日期(即忽略时间)

【问题讨论】:

  • 您提供的代码应该已经可以了,因为它应该只将日期显示为字符串。你能提供一个结果样本吗? (我更喜欢使用 Date 属性的方法,但即便如此,也不应该使用时间。)
  • 顺便问一下,你对结果做了什么?您将它们分配给任何东西并不明显......
  • @Jon Skeet 你是对的。我的代码工作正常!我检查了错误的下拉列表!!!感谢您指出。

标签: c# linq datetime distinct


【解决方案1】:

您可以通过列的Date 属性尝试Select 列:

MyDataTable.AsEnumerable()
      .Select(row => row.Field<DateTime>("MyDateColumn").Date).Distinct();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-01-24
    • 2013-10-02
    • 2013-07-27
    • 1970-01-01
    • 2019-04-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多