我被困住了一段时间,现在需要你的帮助。
我想在每个月的第四个星期日的下拉列表中显示,比如从 1-Sep-2010 到 31-Aug-2011
我只想要下拉列表中的第四个星期天,如何使用 asp.net C#
问候
最佳答案
这是一种使用一点 LINQ 的方法,并且知道第四个星期日将发生在一个月的 22 日和 28 日之间,包括 22 日和 28 日。
DateTime startDate = new DateTime(2010, 9, 1);
DateTime endDate = startDate.AddYears(1).AddDays(-1);
List<DateTime> fourthSundays = new List<DateTime>();
DateTime currentDate = startDate;
while (currentDate < endDate)
{
// we know the fourth sunday will be the 22-28
DateTime fourthSunday = Enumerable.Range(22, 7).Select(day => new DateTime(currentDate.Year, currentDate.Month, day)).Single(date => date.DayOfWeek == DayOfWeek.Sunday);
fourthSundays.Add(fourthSunday);
currentDate = currentDate.AddMonths(1);
}
然后,您可以将该
List<DateTime>
绑定(bind)到下拉列表或跳过列表本身,以便在生成项目时将它们添加到下拉列表中,如下所示。yourDropdown.Items.Add(new ListItem(fourthSunday.ToString()));
对于笑声,您可以在 LINQ 语句中完成整个操作并跳过(大部分)变量。
DateTime startDate = new DateTime(2010, 9, 1);
IEnumerable<DateTime> fourthSundays =
Enumerable.Range(0, 12)
.Select(item => startDate.AddMonths(item))
.Select(currentMonth =>
Enumerable.Range(22, 7)
.Select(day => new DateTime(currentMonth.Year, currentMonth.Month, day))
.Single(date => date.DayOfWeek == DayOfWeek.Sunday)
);
关于c# - 仅选择每月的第四个星期日,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3614429/