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

C# 如何在C中以30天的间隔循环选定的月/日/年#,c#,loops,datetimepicker,C#,Loops,Datetimepicker,如何编写这个 我在dateTimePicker中选择了date,我想循环使用24个月。范例 我选择了 4/4/2018 5/4/2018 6/4/2018 7/4/2018 ... ... ... 4/4/2020 (24 months) 试试这个剪下来的: DateTime dt = ... // Get the value from your Datetimepicker. for (int i = 0; i <= 24; i++) { // do something, e.

如何编写这个

我在
dateTimePicker
中选择了
date
,我想循环使用
24个月。范例

我选择了

4/4/2018
5/4/2018
6/4/2018
7/4/2018
...
...
...
4/4/2020 (24 months)
试试这个剪下来的:

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);
}
DateTime dt=…//从Datetimepicker获取值。
对于(inti=0;i
List=newlist();
DateTime dt=DateTime.Now;
列表。添加(dt);
对于(int i=1;i<24;i++)
{
列表.添加(dt.添加月份(i));
}

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

似乎您想要一个
for
循环,或者是
30
天步骤(如问题标题所示)


您可以使用DateTime类的AddMonths方法

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

while (monthCount-- > 0)
    dateTime = dateTime.AddMonths(1);

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

 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"));
var date=new DateTime(2018,4,4);//改用datetimepicker值

对于(int-ctr=0;ctr)如果选择2月29日,你想显示什么?
DateTime。对于这个不清楚的问题,AddDays(30)
应该可以。如果你需要更好的答案,试着写一个更好、更有意义的问题。
(DateTime date=dateTimePicker.Value;date@Fildor:这是一个建议:问题需要
30
天的间隔,而示例使用
1
月one@DmitryBychenko啊,我明白了。所以有一个隐含的要求澄清…@bree注意,“30天”和“1个月”会产生不同的结果!所以如果“30天”是“1个月”的常见财务近似值。您应该重新考虑您的确切要求。
for (DateTime date = dateTimePicker.Value.Date; 
     date <= dateTimePicker.Value.AddYears(2); 
     date = date.AddMonths(1)) {
  ... 
}
var dateTime = DateTime.Parse("4/4/2018");
var monthCount = 24;

while (monthCount-- > 0)
    dateTime = dateTime.AddMonths(1);
 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"));