日历不显示所有存储的日期

时间:2013-04-26 10:06:06

标签: asp.net asp.net-mvc-3 datetime calendar datepicker

我正在使用ASP日历来显示日期列表,但是日历重叠的方式可能会显示3月的最后几个日期,以及4月的整个月,以及may的前几天(请参阅图像下面)导致问题。

我已将'startDate'和'endDate'设置为该月的开始和结束时间。因此,如果用户点击4月10日,它将显示从4月1日到4月30日的所有存储日期。我需要将其更改为包括第4个月和之后的月份,因此4月的任何日期都将包括3月,4月和5月的所有日期。 '绿色是用户选择的日期,红色是今天的日期,蓝色是数据库表中存储的日期。'

enter image description here

enter image description here

DateTime startOfMonth = new DateTime(DiaryDate.Year, DiaryDate.Month, 1);
DateTime endOfMonth = startOfMonth.AddMonths(1).AddDays(-1);

以上代码选择每个月的第一个和最后一个日期(所选日期) 我想选择整个上一个当前和下个月 不确定正确的语法。任何帮助表示赞赏?

1 个答案:

答案 0 :(得分:0)

试试这个:

// First, get the dates a month before - and after - the specified date.
DateTime nextMonth = DiaryDate.AddMonths(1);
DateTime lastMonth = DiaryDate.AddMonths(-1);

// Get the last day of next month.
DateTime endOfNextMonth = new DateTime(nextMonth.Year, nextMonth.Month,
    DateTime.DaysInMonth(nextMonth.Year, nextMonth.Month));

// Get the first day of last month.
DateTime startOfLastMonth = new DateTime(lastMonth.Year, lastMonth.Month, 1);

现在您只需使用endOfNextMonthstartOfLastMonth作为“边界”日期,就像您目前使用startOfMonthendOfMonth一样。