这是一个查询,我可以获取两个日期之间的所有记录。
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#i中是获取开始日期和结束日期。
从日期到开始时间=转换.ToDateTime(dt.Rows[0]["Fdate"]).ToString("yyyy/MM/ddHH:mm:ss");
ToDateWithEndTime=转换.ToDateTime(dt.Rows[0]["Edate"]).ToString("yyyy/MM/ddHH:mm:ss");
我想要那些介于开始日期和结束日期之间的日期。并绑定DRP下拉列表中的所有日期。我该怎么做。
您可以使用foreach循环迭代查询,并将值绑定到下拉
foreach (item in queryResults)
{
ddlDate.items.add(item);
}
您可以通过查询已填充的数据表(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();
您可以在C#中使用TimeSpan,使用它可以获得这些天之间的差异。就像你用date.substract(AnotherDate)方法从另一个日期减去一个日期时,它会返回Timespan。你可以得到两天之间的天数,比如这个例子:
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));
}
试试这个。