获取 2 个日期之间的差异,并显示日期数字和日期 c# 剃须刀 mvc
本文关键字:日期 数字 显示 剃须刀 mvc 之间 获取 | 更新日期: 2023-09-27 18:35:07
我需要能够获取输入的"发件人"和"收件人"之间的日期列表同时显示每个日期的数字。我需要使用 for 循环,以便我可以填充单选按钮。这是我目前拥有的代码 - 但它循环日期和日期数字,这不是我想要的:输入日期 从 (01.02.2016) 到 (02/02/2016) 输出:
- •日: 1 日期: 01/02/2016
- •日: 1 日期: 02/02/2016
- •日: 2 日期: 01/02/2016
- •天: 2 日期: 02/02/2016
但我想要的是:
•日: 1 日期: 01/02/2016
•天: 2 日期: 02/02/2016
这是我的代码:
List<DateTime> dates = new List<DateTime>();
for (DateTime date = Model.DataModel.DateFrom.Value; date <= Model.DataModel.DateTo; date = date.AddDays(1))
{
dates.Add(date);
}
//Then enter this number of days into the loop to show radiobuttons
for (int i = 1; i <= dates.Count; i++)
{
foreach (var item in dates)
{
<ul>
<li>Day: @i.ToString() Date: @item.ToShortDateString()</li>
</ul>
}
}
您有两个可用选项,但您当前的代码几乎就在那里。只要想想它的当前行为以及它正在做什么,你就会看到你的嵌套循环导致了这个问题。
//Then enter this number of days into the loop to show radiobuttons
<ul>
@for (int i = 1; i <= dates.Count; i++)
{
<li>Day: @i.ToString() Date: @dates[i-1].ToShortDateString()</li>
}
</ul>
或者,您可以这样做:
//Then enter this number of days into the loop to show radiobuttons
if(dates.Any())
{
var count = 1;
<ul>
@foreach (var date in Dates)
{
<li>Day: @count Date: @date.ToShortDateString()</li>
count++;
}
</ul>
}
else
{<p>No dates found</p>}