protected void Page_Load(object sender, EventArgs e)
{
DateTime dt1, dt2, monthStartDate, monthEndDate;
List<clsDates> listDates = new List<clsDates>();
dt1 = Convert.ToDateTime("20/05/2026");
dt2 = Convert.ToDateTime("11/11/2025");
monthStartDate = dt1.AddDays(-1 * dt1.Day + 1);
monthEndDate = monthStartDate.AddMonths(1).AddDays(-1);
while (monthEndDate < dt2)
{
listDates.Add(new clsDates { startDate = dt1, endDate = monthEndDate, days = (monthEndDate - dt1).TotalDays / (monthEndDate - monthStartDate).TotalDays });
monthStartDate = monthEndDate.AddDays(1);
dt1 = monthStartDate;
monthEndDate = monthStartDate.AddMonths(1).AddDays(-1);
}
listDates.Add(new clsDates { startDate = monthStartDate, endDate = dt2, days =(dt2 -monthStartDate).TotalDays / (monthEndDate - monthStartDate).TotalDays });
gv.DataSource = listDates;
gv.DataBind();
}
public class clsDates
{
public DateTime startDate { get; set; }
public DateTime endDate { get; set; }
public double days { get; set; }
}