概述
任意给一个时间,得到这个时间所在月份的最后一天。这样的做法有很多,以下采用相对便于理解的一种方式来实现。
函数如下
public static DateTime GetLastDayOfMonth(DateTime thisDate)
{
var curDate = new DateTime(thisDate.Year, thisDate.Month, 1);
return curDate.AddMonths(1).AddDays(-1);
}
以上函数说明
这个函数的原理是将当前的时间的年份、月份,以及第一天,得到任意时间的所有月份的第一天。
比如 2022-02-05 12:20:30 这个时间,
(1)先得到年份、月份。
(2)在得到年份、月份的基础上,再得到这个月的第一天,2020-02-01 这个月的第一天。因为1-12个月中每个月的第一天一定是相同的,比如1号。而每个月的最后天有可能是28、29、30、31这几种情况。
(3)根据(2)得到这个月第一天的日期后,加上一个月的时间,就会得到下个月的第一天的日期,在下个月第一天的日期上减掉一天,就是变成上个月的最后一天。
日期的AddMonths(1)这个函数就是在当前日期的基础上增加一个月。
日期的AddDays(-1)这个函数就是在当前日期的基础上增加一个负1天。
本文暂时没有评论,来添加一个吧(●'◡'●)