这是查询,我可以获得两个日期之间的所有记录。
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中提取开始日期和结束日期。
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“);
我希望这些日期介于START DATE和END DATE之间。 并列出DRP DOWN列表中的所有日期。 我该怎么做。
答案 0 :(得分:0)
您可以使用foreach循环遍历查询并将值绑定到下拉列表
foreach (item in queryResults)
{
ddlDate.items.add(item);
}
答案 1 :(得分: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();
答案 2 :(得分:0)
你可以在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));
}
试试这个。