我对.net MVC很新。如何在.net MVC中生成过去6个月的列表。唯一的东西是DateTime.Now,我需要
ViewBag.Months=List of months with years
答案 0 :(得分:23)
您可以使用Enumerable.Range lambda表达式创建DateTime值列表。您需要使用ToString(" MM / yyyy")对枚举中的每个值提取月/年字符串。看看这个小提琴,看一个有效的例子:https://dotnetfiddle.net/5CQNnZ
var lastSixMonths = Enumerable.Range(0, 6)
.Select(i => DateTime.Now.AddMonths(i - 6))
.Select(date => date.ToString("MM/yyyy"));
答案 1 :(得分:6)
这就是你所需要的一切。
var now = DateTimeOffset.Now;
ViewBag.Months = Enumerable.Range(1, 6).Select(i => now.AddMonths(-i).ToString("MM/yyyy"));
示例输出(截至2016年2月):
01/2016
12/2015
11/2015
10/2015
09/2015
08/2015
您不必首先设置now
变量,但它确实可以确保您在处理过程中不会翻新到新月份。这将是一个极不可能的错误,但可能会发生。