我想创建这样的东西:
2013 年 5 月 2013 年
4 月 2013 年
3 月 2013 年
2 月 2013 年
1月 2012 年
12 月 2012 年
11 月
我写的是这样的:
var currentDate = DateTime.Now;
var list = new List<ArchiveViewModel>();
for (var startDate = new DateTime(2013, 1, 1); startDate.Month <= currentDate.Month; startDate = startDate.AddMonths(1))
{
list.Add(new ArchiveViewModel
{
Month = startDate.Month,
Year = startDate.Year,
FormattedDate = startDate.ToString("MMMM, yyyy")
});
}
ArchiveViewModel 是这样的:
public class ArchiveViewModel
{
public int Month { get; set; }
public int Year { get; set; }
public string FormattedDate { get; set; }
}
但是,它只创建特定年份(2012 年或 2013 年)的月份:
January, 2013
February, 2013
March, 2013
April, 2013
May, 2013
如果我将 startDate 更改为 (2012,1,1) 它将创建:
January, 2012
February, 2012
March, 2012
April, 2012
May, 2012
但我想要的是这样的:
November,2012
December , 2012
January, 2013
February, 2013
March, 2013
April, 2013
May, 2013