我的数据表有四列: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
,这是不正确的。
任何想法我该怎么办?
答案 0 :(得分:1)
您的列类型似乎不是DateTime
。如果您可以解决此问题,请确保DataTable
列DateTime
的{{1}}类型为{1}},否则您可以使用LINQ&#39 {s} date
和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.ParseExact
转换为DateTime
,例如:
DateTime