0

这是查询,我可以获取两个日期之间的所有记录。

SELECT * FROM tblBooking WHERE  
 Convert(datetime,'2013-08-20 04:00:00.000')  --start date  
    BETWEEN FromDateWithStartTime AND ToDateWithEndTime  
    OR Convert(datetime,'2013-08-30 04:00:00.000') --endDate  
    BETWEEN FromDateWithStartTime AND ToDateWithEndTime  
    or FromDateWithStartTime BETWEEN Convert(datetime,'2013-08-20 04:00:00.000') --startdate  
     AND Convert(datetime,'2013-08-30 04:00:00.000')  --enddate  
    or ToDateWithEndTime BETWEEN Convert(datetime,'2013-08-20 04:00:00.000')--start date  
    AND Convert(datetime,'2013-08-30 04:00:00.000')

在 C# 中,我是一个获取开始日期和结束日期。

FromDateWithStartTime = Convert.ToDateTime(dt.Rows[0]["Fdate"]).ToString("yyyy/MM/dd HH:mm:ss");

ToDateWithEndTime = Convert.ToDateTime(dt.Rows[0]["Edate"]).ToString("yyyy/MM/dd HH:mm:ss");

我想要那些介于开始日期和结束日期之间的日期。并绑定 DRP DOWN 列表中的所有日期。我该怎么做。

4

3 回答 3

0

您可以使用 foreach 循环遍历查询并将值绑定到下拉列表

foreach (item in queryResults)
{
   ddlDate.items.add(item);
}
于 2013-08-30T04:58:06.610 回答
0

您可以通过查询已填充的数据表 (dtData) 使用 linq 绑定下拉列表

ddlDate.DataValueField = "date_value";
ddlDepartment.DataTextField = "date_value";
ddlDepartment.DataSource = (from row in dtData.AsEnumerable()
                    select new { date_value = row["date_Column"].ToString()}).Distinct().ToList();
ddlDate.DataBind();
于 2013-08-30T04:58:09.310 回答
0

您可以使用 C# 中的 TimeSpan 来获得这些天之间的差异。就像当您使用 Date.Substract(AnotherDate) 方法从另一个日期中减去一个日期时,它会返回您的时间跨度。你可以像这个例子一样得到两天之间的天数:

DateTime StartDate = DateTime.Now;
            DateTime EndDate= DateTime.Now.AddMonths(5);
            TimeSpan DateDiff = EndDate.Subtract(StartDate);
            int Days = DateDiff.Days;
            string Date;
            for (int i = 1; i <= Days; i++)
            {
                Date = StartDate.AddDays(double.Parse(i));
            }

尝试这个。

于 2013-08-30T05:02:37.137 回答