比如 输入 2010-01-01 至 2010-12-31
返回结果为
2010-01-31
2010-02-28
2010-03-31
2010-04-30
2010-05-31
2010-06-30
2010-07-31
2010-08-31
2010-09-30
2010-10-31
2010-11-30
2010-12-31
返回结果为
2010-01-31
2010-02-28
2010-03-31
2010-04-30
2010-05-31
2010-06-30
2010-07-31
2010-08-31
2010-09-30
2010-10-31
2010-11-30
2010-12-31
DateTime dt2 = new DateTime(2010, 12, 31);
List<DateTime> dts = new List<DateTime>();
DateTime dt = dt1;
while ((dt = dt.AddMonths(1)) <= dt2) {
DateTime tmp = dt.AddMonths(1);
tmp = new DateTime(tmp.Year, tmp.Month, 1);
dts.Add(tmp.AddDays(-1));
}
string year = "2010";
for (int i = 2; i <= 13; i++)
{
if (i == 13)
Console.WriteLine((DateTime.Parse((Convert.ToInt32(year)+1).ToString() + "-" + 1.ToString() + "-1").AddDays(-1)).ToShortDateString());
else
Console.WriteLine((DateTime.Parse(year + "-" + i.ToString() + "-1").AddDays(-1)).ToShortDateString());
}
如果是多年的,那就再循环一下年就可以了,希望对你有帮助。