C# asp.net中的日期范围循环,C

C# asp.net中的日期范围循环,C,c#,asp.net,C#,Asp.net,如何在C中的两个日期范围之间循环 例如— 我正在创建一个信用卡EMI模块,假设一个用户想要6个EMI 我有一个日期范围:08/02/2009-08/08/2009我需要循环每个月 输入: Start Date- 08/02/2008 End Date - 08/07/2009 Charge Cycle - 6 输出将类似于- 08/02/2008 08/03/2008 08/04/2008 08/05/2008 08/06/2008 08/07/2008 或者,如果您愿意: public

如何在C中的两个日期范围之间循环

例如—

我正在创建一个信用卡EMI模块,假设一个用户想要6个EMI 我有一个日期范围:08/02/2009-08/08/2009我需要循环每个月

输入:

Start Date- 08/02/2008
End Date - 08/07/2009

Charge Cycle - 6
输出将类似于-

08/02/2008
08/03/2008
08/04/2008
08/05/2008
08/06/2008
08/07/2008
或者,如果您愿意:

public static IEnumerable<DateTime> GetMonths(DateTime start, int numberOfMonths);
{
    for(int i = 0; i < numberOfMonths; i++)
    {
        start = start.AddMonth(i); 
        yield return start;
    }
}

foreach(var date in GetMonths(DateTime.Now, 6)
{
    Console.WriteLine("{0:dd/MM/yy}", date);
}
或者,如果您愿意:

public static IEnumerable<DateTime> GetMonths(DateTime start, int numberOfMonths);
{
    for(int i = 0; i < numberOfMonths; i++)
    {
        start = start.AddMonth(i); 
        yield return start;
    }
}

foreach(var date in GetMonths(DateTime.Now, 6)
{
    Console.WriteLine("{0:dd/MM/yy}", date);
}
您可以在while循环中使用

DateTime dtStart = new DateTime(2009,2,8);
DateTime dtEnd = new DateTime(2009,8,8);
while (dtStart < dtEnd)
{

    Console.WriteLine(dtStart.ToString("dd/MM/yyyy"));
    dtStart = dtStart.AddMonths(1);
}
您可以在while循环中使用

DateTime dtStart = new DateTime(2009,2,8);
DateTime dtEnd = new DateTime(2009,8,8);
while (dtStart < dtEnd)
{

    Console.WriteLine(dtStart.ToString("dd/MM/yyyy"));
    dtStart = dtStart.AddMonths(1);
}

您可以使用Datetime的AddMonths方法。
查看一下

您可以使用Datetime的AddMonths方法。 请看一下使用方法

返回一个新的日期时间,将指定的月数添加到 此实例的值

喜欢

这里有一个。

使用方法

返回一个新的日期时间,将指定的月数添加到 此实例的值

喜欢


下面是一个。

下面将返回指定日期之间的日期列表

        var startDate = DateTime.Parse("08/02/2009");
        var endDate = DateTime.Parse("08/08/2009");
        var resutl = Enumerable.Range(0, 1 + ((endDate.Year - startDate.Year) * 12) +  endDate.Month -1 - startDate.Month  )
            .Select(startDate.AddMonths)
            .ToList();

下面将返回指定日期之间的日期列表

        var startDate = DateTime.Parse("08/02/2009");
        var endDate = DateTime.Parse("08/08/2009");
        var resutl = Enumerable.Range(0, 1 + ((endDate.Year - startDate.Year) * 12) +  endDate.Month -1 - startDate.Month  )
            .Select(startDate.AddMonths)
            .ToList();

如果你想暗示你有一个字符串格式的日期范围,你的第一步就是把它转换成一个合适的日期时间。如果你想暗示你有一个字符串格式的日期范围,你的第一步就是把它转换成一个合适的日期时间。接下来的步骤应该很简单。在您的示例中,这甚至不适用于日期范围,因为它不适用于年份。在您的示例中,这甚至不适用于日期范围,因为它不适用于年份。
        var startDate = DateTime.Parse("08/02/2009");
        var endDate = DateTime.Parse("08/08/2009");
        var resutl = Enumerable.Range(0, 1 + ((endDate.Year - startDate.Year) * 12) +  endDate.Month -1 - startDate.Month  )
            .Select(startDate.AddMonths)
            .ToList();