0

私はこのようなものを作成したい:

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
4

3 に答える 3

0

試す

var currentDate = new DateTime (DateTime.Now.Year, DateTime.Now.Month, 1);

for (var startDate = new DateTime(2012, 11, 1); startDate <= currentDate; startDate = startDate.AddMonths(1))
于 2013-05-09T15:17:41.687 に答える