【问题标题】:ASP.NET Get future 6 monthsASP.NET 获得未来 6 个月
【发布时间】:2012-08-01 15:40:26
【问题描述】:

所以我想做的是在下拉框中获得未来六个月,我正在尝试类似

        public List<String> GetTrainingDates()
    {
        var monthList = new List<String>();
        var currentMonth = DateTime.Now.Month;
        for(var i = currentMonth; i <= currentMonth + 6; i++)
        {
            monthList.Add(CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(i));
        }
        return monthList;
    }

但当然这会大于 12,因此必须在 12 点重新开始,然后再从 1 点开始。

只是想知道是否有人知道如何做到这一点?

【问题讨论】:

标签: asp.net datetime


【解决方案1】:

只需使用% modulus operator

monthList.Add(CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(
               ((i - 1) % 12) + 1));

【讨论】:

  • @freefaller - 调整为0
【解决方案2】:
    public List<String> GetTrainingDates()
        {
            var monthList = new List<String>();
            var currentDate = DateTime.Now();
            for(var i = 0; i <= 6; i++)
            {              
                monthList.Add(CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(currentDate.AddMonths(i).Month));
            }
            return monthList;
        }

【讨论】:

  • 这不会得到 下一个 6 个月。只是 1 月到 6 月。
  • @Oded 请解释一下?我不同意。
  • 道歉 - 错过了DateTime.Now.AddMonths的使用
【解决方案3】:

使用DateTime类的.AddMonths函数...

public List<String> GetTrainingDates()
{
    var monthList = new List<String>();
    var month;
    for(var i = 1; i <= 6; i++)
    {
       month = DateTime.Now.AddMonths(i).Month;
       monthList.Add(CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(month));
    }
    return monthList;
}

【讨论】:

    【解决方案4】:

    简单地说,您可以使用LINQ 表达式和Range.....

     List<string> listMonth = Enumerable.Range(1, 6).ToList()
                                 .Select(i => CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(DateTime.Now.AddMonths(i).Month))
                                 .ToList();
    

    【讨论】:

      猜你喜欢
      • 2013-02-02
      • 1970-01-01
      • 2013-02-27
      • 1970-01-01
      • 1970-01-01
      • 2016-11-16
      • 2022-01-08
      • 2014-10-20
      • 2021-04-13
      相关资源
      最近更新 更多