最小值和最大值数据形成数据表
本文关键字:数据表 数据 最大值 最小值 | 更新日期: 2023-09-27 17:49:41
我有四列数据表:Date
, isin
, Price
和State
。
我需要从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
有DateTime
类型的列date
,否则你可以使用LINQ的Max
和Min
,并将你的列转换为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")));
如果您的字符串值不对应于默认/可用的DateTime
格式,则可能必须使用DateTime.ParseExact
转换为DateTime
,例如:
DateTime stDate = dt.AsEnumerable()
.Max(r => DateTime.ParseExact(r.Field<string>("date"),
"MM/dd/yyyy",
CultureInfo.InvariantCulture));