最小和最大数据形式 Data Table

Minimum and maximum data form Data Table

我有包含四列的数据 Table:DateisinPriceState
我需要从 Date 列中获取最小和最大日期。
我正在使用这段代码,它在一个文件上运行良好,但在其他文件上却显示错误的最大日期。

 DateTime stDate = Convert.ToDateTime((excleTable.Compute("min(date)", string.Empty)));
 DateTime eDate = Convert.ToDateTime((excleTable.Compute("max(date)", string.Empty)));

例如,第一行我有 02/27/2015,最后一行我有 03/31/2015,但它只读到 03/09/2015,这是不正确的。
任何想法我应该怎么做?

您的列类型似乎不是 DateTime。如果您可以修复该问题,请确保您的 DataTable 具有 DateTimedate 类型,否则您可以使用 LINQ 的 MaxMin 并转换您的列DateTime 喜欢:

DateTime stDate =  dt.AsEnumerable()
                     .Max(r => Convert.ToDateTime(r.Field<string>("date")));

DateTime eDate =  dt.AsEnumerable()
                     .Min(r => Convert.ToDateTime(r.Field<string>("date")));

如果您的字符串值不符合 default/available DateTime 格式,您可能必须使用 DateTime.ParseExact 转换为 DateTime,例如:

DateTime stDate =  dt.AsEnumerable()
    .Max(r => DateTime.ParseExact(r.Field<string>("date"), 
                                    "MM/dd/yyyy", 
                                    CultureInfo.InvariantCulture));