C# 如何列出一个月内的所有日期以创建日历
C# 如何列出一个月内的所有日期以创建日历,c#,calendar,C#,Calendar,我开始在C#上翻了一番,我遇到的第一个挑战是创建一种日历。输入1、2、3、4相当容易。。直到 你已经得到了你需要的日期,但由于那将是固定的,它将在几个月内是不正确的。我试着到处搜索,但现在我找不到任何对我有帮助的东西,因为它要么只给我一个月的天数,打印30天,要么我无法让它工作 到目前为止,我有一个for循环似乎正在工作,从1循环到月底。我也有一个清单,但在清单中我需要知道如何打印日期,以实现我的目标 <% var days = DateTime.Da
我开始在C#上翻了一番,我遇到的第一个挑战是创建一种日历。输入1、2、3、4相当容易。。直到 你已经得到了你需要的日期,但由于那将是固定的,它将在几个月内是不正确的。我试着到处搜索,但现在我找不到任何对我有帮助的东西,因为它要么只给我一个月的天数,打印30天,要么我无法让它工作
到目前为止,我有一个for循环似乎正在工作,从1循环到月底。我也有一个清单,但在清单中我需要知道如何打印日期,以实现我的目标
<%
var days = DateTime.DaysInMonth(2015, 11);
for (int i = 1; i < days; i++)
{
Response.Write("<div class='week'>");
Response.Write("<ul>");
Response.Write("<li>");
Response.Write(days);
Response.Write("</li>");
Response.Write("</ul>");
Response.Write("</div>");
}
%>
这就是我现在所拥有的,但它所做的只是打印30次,虽然我尝试过其他方法,但这是迄今为止我最接近的方法 使用LINQ,您可以这样尝试:
Enumerable.Range(1, DateTime.DaysInMonth(year, month))
.Select(day => new DateTime(year, month, day)).ToList();
编辑:
正如Jon在上面所评论的,您没有在循环中使用变量i,因此您需要
Response.Write(i);
而不是
Response.Write(days);
嗯,
DateTime.DaysInMonth
可能是你想要的,但是如果你不知道你在用这些信息做什么,就很难说出来。如果您能向我们展示不起作用的代码,这将使帮助您变得容易得多。@JonSkeet我似乎很擅长忘记包含代码。那里提示:你没有在循环中使用i
。@JonSkeet有点把我弄糊涂了,公平地说,他把哪一部分弄糊涂了?在循环主体中,您没有使用i
,因此我并不惊讶于每次迭代的循环输出都是相同的。这里没有特定的日历。。。这实际上只是正确编写循环的问题。