如何在C#中以30天的间隔循环选定的月/日/年

问题描述 投票:-1回答:5

如何编码这个..

我在date选择了dateTimePicker,我想用24几个月来循环。例

我选择了

4/4/2018
5/4/2018
6/4/2018
7/4/2018
...
...
...
4/4/2020 (24 months)
c# loops datetimepicker
5个回答
2
投票

看来你想要一个for循环,或者使用30天步(如问题标题中所示)

for (DateTime date = dateTimePicker.Value.Date; 
     date <= dateTimePicker.Value.AddYears(2); // or .AddMonths(24) 
     date = date.AddDays(30)) {
  ... 
}

1第一个月(如在提供的示例中;因为,例如,4th May + 30天是3d June,而不是4th June):

for (DateTime date = dateTimePicker.Value.Date; 
     date <= dateTimePicker.Value.AddYears(2); 
     date = date.AddMonths(1)) {
  ... 
}

0
投票
List<DateTime> list = new List<DateTime>();
DateTime dt = DateTime.Now;

list.Add(dt);

for (int i = 1 ; i < 24; i++)
{
    list.Add(dt.AddMonths(i));
}

在列表中,您将获得所询问的所有24个日期。


0
投票

使用DateTime.AddMonths方法和简单的for循环:

 var date = new DateTime(2018, 4, 4); // use datetimepicker value instead
 for (int ctr = 0; ctr <= 24; ctr++)
    Console.WriteLine(date.AddMonths(ctr).ToString("d"));

0
投票

试试这个剪辑:

DateTime dt = ... // Get the value from your Datetimepicker.
for (int i = 0; i <= 24; i++) {
    // do something, e.g. print the date; 
    dt= dt.AddMonths(1);
}

0
投票

您可以使用DateTime类的AddMonths方法。

var dateTime = DateTime.Parse("4/4/2018");
var monthCount = 24;

while (monthCount-- > 0)
    dateTime = dateTime.AddMonths(1);
© www.soinside.com 2019 - 2024. All rights reserved.