如何在datetime的数据列中找到最大值?

fra*_*nri 6 c# datetime max datacolumn

我有一个DateTime的DataColumn,我想知道如何只有更早的日期(分钟)和更晚的日期(最大).

谢谢

Fer*_*ara 13

object maxDate = dataTable.Compute("MAX(TheDateColumnName)", null);
object minDate = dataTable.Compute("MIN(TheDateColumnName)", null);
Run Code Online (Sandbox Code Playgroud)


Kyl*_*ndo 5

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

// 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) });
Run Code Online (Sandbox Code Playgroud)

这是您将使用的代码:

// 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();
Run Code Online (Sandbox Code Playgroud)