【转载】对C#DateTime的一些扩展,计算周内第一天,最后一天
/// <summary> /// DateTime的一些扩展 /// </summary> public class DateTime2 { /// <summary> /// 得到本周第一天(以星期天为第一天) /// </summary> /// <param name="datetime"></param> /// <returns></returns> public DateTime GetWeekFirstDaySun(DateTime datetime) { //星期天为第一天 int weeknow = Convert.ToInt32(datetime.DayOfWeek); int daydiff = (-1) * weeknow; //本周第一天 string FirstDay = datetime.AddDays(daydiff).ToString("yyyy-MM-dd"); return Convert.ToDateTime(FirstDay); } /// <summary> /// 得到本周第一天(以星期一为第一天) /// </summary> /// <param name="datetime"></param> /// <returns></returns> public DateTime GetWeekFirstDayMon(DateTime datetime) { //星期一为第一天 int weeknow = Convert.ToInt32(datetime.DayOfWeek); //因为是以星期一为第一天,所以要判断weeknow等于0时,要向前推6天。 weeknow = (weeknow == 0 ? (7 - 1) : (weeknow - 1)); int daydiff = (-1) * weeknow; //本周第一天 string FirstDay = datetime.AddDays(daydiff).ToString("yyyy-MM-dd"); return Convert.ToDateTime(FirstDay); } /// <summary> /// 得到本周最后一天(以星期六为最后一天) /// </summary> /// <param name="datetime"></param> /// <returns></returns> public DateTime GetWeekLastDaySat(DateTime datetime) { //星期六为最后一天 int weeknow = Convert.ToInt32(datetime.DayOfWeek); int daydiff = (7 - weeknow) - 1; //本周最后一天 string LastDay = datetime.AddDays(daydiff).ToString("yyyy-MM-dd"); return Convert.ToDateTime(LastDay); } /// <summary> /// 得到本周最后一天(以星期天为最后一天) /// </summary> /// <param name="datetime"></param> /// <returns></returns> public DateTime GetWeekLastDaySun(DateTime datetime) { //星期天为最后一天 int weeknow = Convert.ToInt32(datetime.DayOfWeek); weeknow = (weeknow == 0 ? 7 : weeknow); int daydiff = (7 - weeknow); //本周最后一天 string LastDay = datetime.AddDays(daydiff).ToString("yyyy-MM-dd"); return Convert.ToDateTime(LastDay); } }
原文链接:http://blog.csdn.net/joyhen/article/details/9179763
西安.NET俱乐部群