/// <summary> /// 得到一个月的第一天 /// 当前时间增加一个月,再减少一天 /// </summary> /// <param name="thisDate">需要判断的日期</param> /// <returns></returns> public static DateTime GetLastDayOfMonth(DateTime thisDate) { var curDate = new DateTime(thisDate.Year, thisDate.Month, 1); return curDate.AddMonths(1).AddDays(-1); }
1、得到当前时间所在月的第一天 new DateTime(thisDate.Year, thisDate.Month, 1)
2、将这个月的第一天所在日期增加一个月
3、得到下个月的第一天,再使用AddDays(-1)减少一天,就是当前时间所在月的最后一天
4、因为一个月有28、29、30、31这四种情况,所以采用以上的逻辑