C#获取指定日期所在周、月、年的第一天和最后一天;当天零点时间/当天最后的时间

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

一、获取今天0点的时间

DateTime today1 = DateTime.Now.Date;

二、当天最后的时间直接字符串拼接

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

/// <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

posted @   yinghualeihenmei  阅读(1230)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· Obsidian + DeepSeek:免费 AI 助力你的知识管理,让你的笔记飞起来!
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示