温馨提示:本文翻译自stackoverflow.com,查看原文请点击:c# - how to find the max in a datacolumn of datetime?
c# datetime max datacolumn

c# - 如何在日期时间的数据列中找到最大值?

发布于 2020-04-25 18:38:50

我有一个DateTime的DataColumn,我想知道如何只拥有较早的日期(最小)和较晚的日期(最大)。

谢谢

查看更多

提问者
francops henri
被浏览
7
Kyle Rozendo 2011-11-29 01:15

这将为您提供所需的东西:

// Initial Code for Testing
DataTable dt = new DataTable();

dt.Columns.Add("Dates", typeof(DateTime));
dt.Rows.Add(new object[] { DateTime.Now });
dt.Rows.Add(new object[] { DateTime.Now.AddDays(1) });
dt.Rows.Add(new object[] { DateTime.Now.AddDays(2) });

这是您将使用的代码:

// Actual Code
DataColumn col = dt.Columns[0]; // Call this the one you have

DataTable tbl = col.Table;

var first = tbl.AsEnumerable()
               .Select(cols => cols.Field<DateTime>(col.ColumnName))
               .OrderBy(p => p.Ticks)
               .FirstOrDefault();

var last = tbl.AsEnumerable()
              .Select(cols => cols.Field<DateTime>(col.ColumnName))
              .OrderByDescending(p => p.Ticks)
              .FirstOrDefault();