/// <summary> /// 取指定日期是一年中的第几周 /// </summary> /// <param name="dt">给定的日期</param> /// <returns>数字 一年中的第几周</returns> private static int DatePart(DateTime dt) { int weeknow = Convert.ToInt32(dt.DayOfWeek);//今天星期几 int daydiff = (-1) * (weeknow + 1);//今日与上周末的天数差 int days = System.DateTime.Now.AddDays(daydiff).DayOfYear;//上周末是本年第几天 int weeks = days / 7; if (days % 7 != 0) { weeks++; } //此时,weeks为上周是本年的第几周 return (weeks + 1); } 找的上面这个函数可以获取,但是第一周的处理不好,显示的是53周而不是1周 =================分割线===================== 后又根据本人最近的思路,写下了如下的程序,解决了上面第一周处理不好的地方,注释连着看就是我求解的思路算法 private static int GetWeekOfYear() //三.(今天 减去 第一周周末)/7 等于 距第一周有多少周 再加上第一周的1 就是今天是今年的第几周了 |
|