c# 获取时间段内所有月份,及每月有多少天

```						Dictionary dic = new Dictionary();
                        for (DateTime? dt = t.Starttime; dt <= t.Endtime; dt = dt.Value.AddMonths(1))
                        {
                            int days = 0;
                            if (dt.Value.Month == t.Starttime.Month)
                            {
                                //开始日期当月最后一天 - 开始日期
                                days = new TimeSpan(dt.Value.AddDays(1 - dt.Value.Day).AddMonths(1).AddDays(-1).Ticks - dt.Value.Ticks).Days+1;
                            }
                            else if (dt.Value.Month== t.Endtime.Month)
                            {
                                //结束日期 - 结束日期当月第一天 
                                days = new TimeSpan(dt.Value.Ticks - dt.Value.AddDays(1 - dt.Value.Day).Ticks).Days+1;
                            }
                            else
                            {
                                days = DateTime.DaysInMonth(dt.Value.Year, dt.Value.Month);

                            }
                

                            dic.Add(dt.Value.AddDays(1 - dt.Value.Day), days);

                        }


你可能感兴趣的:(c#)