AddMonths:找到对应月的day,如果没有则取最后一个day

var d1 = new DateTime(2017, 6, 30);
var d2 = d1.AddMonths(-1);//2017-05-30
var d3 = d1.AddMonths(-3);//2017-03-30
var d4 = d1.AddMonths(-4);//2017-02-28

所以获取某月的最后一天,用某月的第一天去AddMonths(数字)。

  var d1 = new DateTime(2017, 6, 1);
var d2 = d1.AddMonths(-1);

  

05-11 13:26