如何 asp.net MVC 所有日期之间的两个日期
How To asp.net MVC Two dates between All Dates
我有两个日期示例
12.1.2019
12.2.2019
public class DatelistController : Controller
{
[HttpGet]
public ActionResult Index()
{
DateTime start = new DateTime(2012, 2, 1);
DateTime end = new DateTime(2012, 3, 1); ;
var dates = new List<DateTime>();
for (var dt = start; dt <= end; dt = dt.AddDays(1))
{
dates.Add(dt);
}
Enumerable.Range(0, 1 + end.Subtract(start).Days)
.Select(offset => start.AddDays(offset))
.ToArray();
ViewData["AllDate"] = new SelectList(dates);
return View();
}
索引
> @foreach (var item in ViewData["AllDate"] as List<DateTime>)
{
<tr>
<td style="font-family:Verdana; font-size:12px;">@item</td>
</tr>
}
我无法索引页面,因为没有我构建的结构。
我想做什么;
Select 开始日期和结束日期是获取所有日期之间的两个日期
然后稍后
我将把值放在使用复选框
获得的天数上
如果你能帮到我,我会很高兴谢谢你!
你做错了。比较两个 Day
会给你错误的值。例如,您正在比较 1 月 11 日的 11 和 2 月 11 日,它会给您 0,但事实并非如此。
这样做。
DateTime start;
DateTime end;
var dates = new List<DateTime>();
for (var dt = start; dt <= end; dt = dt.AddDays(1))
{
dates.Add(dt);
}
您也可以按照说明使用 LINQ here。
Enumerable.Range(0, 1 + end.Subtract(start).Days)
.Select(offset => start.AddDays(offset))
.ToArray();
查看错误=System.NullReferenceException: (... as System.Collections.Generic.List<System.DateTime>) returned null.
谢谢
我有两个日期示例 12.1.2019 12.2.2019
public class DatelistController : Controller
{
[HttpGet]
public ActionResult Index()
{
DateTime start = new DateTime(2012, 2, 1);
DateTime end = new DateTime(2012, 3, 1); ;
var dates = new List<DateTime>();
for (var dt = start; dt <= end; dt = dt.AddDays(1))
{
dates.Add(dt);
}
Enumerable.Range(0, 1 + end.Subtract(start).Days)
.Select(offset => start.AddDays(offset))
.ToArray();
ViewData["AllDate"] = new SelectList(dates);
return View();
}
索引
> @foreach (var item in ViewData["AllDate"] as List<DateTime>)
{
<tr>
<td style="font-family:Verdana; font-size:12px;">@item</td>
</tr>
}
我无法索引页面,因为没有我构建的结构。
我想做什么;
Select 开始日期和结束日期是获取所有日期之间的两个日期 然后稍后 我将把值放在使用复选框
获得的天数上如果你能帮到我,我会很高兴谢谢你!
你做错了。比较两个 Day
会给你错误的值。例如,您正在比较 1 月 11 日的 11 和 2 月 11 日,它会给您 0,但事实并非如此。
这样做。
DateTime start;
DateTime end;
var dates = new List<DateTime>();
for (var dt = start; dt <= end; dt = dt.AddDays(1))
{
dates.Add(dt);
}
您也可以按照说明使用 LINQ here。
Enumerable.Range(0, 1 + end.Subtract(start).Days)
.Select(offset => start.AddDays(offset))
.ToArray();
查看错误=System.NullReferenceException: (... as System.Collections.Generic.List<System.DateTime>) returned null.
谢谢