標籤:
/// <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
【轉載】對C#DateTime的一些擴充,計算周內第一天,最後一天