获取月末和月末的最简单方法是什么?

Joh*_*abb 1 .net c# datetime

以下是我找到的最佳方式.思考?如果您加载它并运行是否有更快的方式来加载它然后我在这里做了什么?有什么我想念的吗?

void Main()
{
    Console.WriteLine(GetMonthStart(DateTime.Now));
    Console.WriteLine(GetMonthEnd(DateTime.Now));
}
private DateTime GetMonthStart(DateTime dt)
{
    dt= dt.Date;
    return dt.Subtract(TimeSpan.FromDays(dt.Day - 1));
}
private DateTime GetMonthEnd(DateTime dt)
{
    dt= dt.Date;
    return GetMonthStart(dt).AddMonths(1).Subtract(TimeSpan.FromTicks(1));
}
Run Code Online (Sandbox Code Playgroud)

Ray*_*Ray 6

不确定是否更好,但我可能会这样做

private DateTime GetMonthStart(DateTime dt)
{
    return new DateTime(dt.Year, dt.Month, 1);
}

private DateTime GetMonthEnd(DateTime dt)
{
    return new DateTime(dt.Year, dt.Month, DateTime.DaysInMonth(dt.Year, dt.Month));
}
Run Code Online (Sandbox Code Playgroud)