具有特定格式的日期时间转换

时间:2012-03-12 10:35:53

标签: c# asp.net datetime

我想使用dataview行过滤器来过滤数据表中的数据,数据库的列名称月份类似于“01-04-2012 00:00:00”。我想用这种格式获取数据..

这是我的部分代码

     dv1 = dtable.DefaultView;
            DateTime start = new DateTime(DateTime.Now.Year, 4, 1,0,0,0);

            dv1.RowFilter =Convert.ToString(start); //"Month = '04-01-2011 00:00:00'"; 

它返回以下错误:语法错误:'00'运算符后缺少操作数。我无法修复此错误,请帮我这样做...

2 个答案:

答案 0 :(得分:3)

您需要将日期时间值括在#中。您还必须说明要与此值进行比较的列。

例如:

dv1.RowFilter = String.Format(CultureInfo.InvariantCulture.DateTimeFormat,
                "Date = #{0}#", start);

(其中Date是datetime-column的实际名称)

答案 1 :(得分:0)

查看代码时,您缺少要过滤的列的名称。

例如:
dv1.RowFilter = string.Format("PurchaseDate = '{0}'", Convert.ToString(start));

假设PurchaseDate是视图内的日期,数据将使用过滤。