我正在使用ASP日历来显示日期列表,但是日历重叠的方式可能会显示3月的最后几个日期,以及4月的整个月,以及may的前几天(请参阅图像下面)导致问题。
我已将'startDate'和'endDate'设置为该月的开始和结束时间。因此,如果用户点击4月10日,它将显示从4月1日到4月30日的所有存储日期。我需要将其更改为包括第4个月和之后的月份,因此4月的任何日期都将包括3月,4月和5月的所有日期。 '绿色是用户选择的日期,红色是今天的日期,蓝色是数据库表中存储的日期。'
DateTime startOfMonth = new DateTime(DiaryDate.Year, DiaryDate.Month, 1);
DateTime endOfMonth = startOfMonth.AddMonths(1).AddDays(-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);
现在您只需使用endOfNextMonth
和startOfLastMonth
作为“边界”日期,就像您目前使用startOfMonth
和endOfMonth
一样。