首页 > 解决方案 > 这真的可以在 asp.net core 中检查该月的最后一天吗?

问题描述

我想检查当前日期是否是该月的最后一天,而与当前月份的天数无关。当月的最后一天做某事

我的意思是,如果它的 2021 年 2 月 28 日有所作为。

我的代码

 var lastDayOfTheCurrentMonth = DateTime.DaysInMonth(currentYear, currentMonth) == 1;

                        if (lastDayOfTheCurrentMonth)
                        {
                            //calculate interest
                        }
                        {
                            //else return
                        }

谢谢

标签: c#datetimeasp.net-core

解决方案


我会让它更容易阅读并做到这一点:

var today = DateTime.Today;
var isLastDayOfMonth = (today.Day == DateTime.DaysInMonth(today.Year, today.Month));

if(isLastDayOfMonth)
{
    //do something
}
else
{
    //do something else
}

您可以在控制台应用程序中对此进行测试:

    static void Main(string[] args)
    {
        var today = DateTime.Today;
        var isLastDayOfMonth = (today.Day == DateTime.DaysInMonth(today.Year, today.Month));

        Console.WriteLine("Is Last Day: " + isLastDayOfMonth);

        var lastDay = new DateTime(2020, 12, 31);
        isLastDayOfMonth = (lastDay.Day == DateTime.DaysInMonth(lastDay.Year, lastDay.Month));

        Console.WriteLine("Is Last Day: " + isLastDayOfMonth);
        Console.ReadLine();
    }

结果:

在此处输入图像描述

如果您可能不止一次使用它,则可以根据 Johnathan 的回答创建扩展方法。


推荐阅读