1

我正在使用 ASP 日历来显示日期列表,但是日历重叠的方式可能会显示三月的最后几个日期,整个四月,五月的前几天(请参见下面的图片)是造成问题。

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

在此处输入图像描述

在此处输入图像描述

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

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

4

1 回答 1

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);

现在您可以简单地使用endOfNextMonthandstartOfLastMonth作为您的“边界”日期,就像您目前使用startOfMonthand所做的那样endOfMonth

于 2013-04-26T14:22:42.147 回答