如何列出一个月中的所有日期以创建日历
How to list all dates in a month to create a calendar
我已经开始稍微研究一下 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 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);
我已经开始稍微研究一下 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 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);