C#获取指定日期所在周、月、年的第一天和最后一天

发布时间 2023-06-26 17:48:27作者: yinghualeihenmei

https://blog.csdn.net/m0_49221913/article/details/128826175

需求:给定一个日期,获取日期所在周的周一、周日,获取日期所在月的第一天和最后一天,获取所在年份的第一天和最后一天。
代码如下所示。

/// <summary>
/// 获取指定日期所在周的周一
/// </summary>
/// <param name="dt"></param>
/// <returns></returns>
public static DateTime GetWeekStart(DateTime dt)
{
return dt.AddDays(-((int)dt.DayOfWeek - 1));
}

/// <summary>
/// 获取指定日期所在周的周日
/// </summary>
/// <param name="dt"></param>
/// <returns></returns>
public static DateTime GetWeekEnd(DateTime dt)
{
return dt.AddDays(7 - (int)dt.DayOfWeek);
}

/// <summary>
/// 获取指定日期所在月的第一天
/// </summary>
/// <param name="dt"></param>
/// <returns></returns>
public static DateTime GetMonthStart(DateTime dt)
{
return dt.AddDays(-((int)dt.Day - 1));
}

/// <summary>
/// 获取指定日期所在月的最后一天
/// </summary>
/// <param name="dt"></param>
/// <returns></returns>
public static DateTime GetMonthEnd(DateTime dt)
{
return dt.AddMonths(1).AddDays(-dt.AddMonths(1).Day);
}

/// <summary>
/// 获取指定日期的年初
/// </summary>
/// <param name="dt"></param>
/// <returns></returns>
public static DateTime GetYearStart(DateTime dt)
{
return dt.AddDays(-((int)dt.DayOfYear - 1));
}

/// <summary>
/// 获取指定日期的年末
/// </summary>
/// <param name="dt"></param>
/// <returns></returns>
public static DateTime GetYearEnd(DateTime dt)
{
return dt.AddYears(1).AddDays(-dt.AddYears(1).DayOfYear);
}
————————————————
版权声明:本文为CSDN博主「Flames丶丶」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/m0_49221913/article/details/128826175