需求:跨年周,如果当前动态加减N周,刚好在跨年周里(15年),那么当前周的第一天应为 2015-01-01,如果是在(14年)那么当前周应为2014-12-29
int span =1; date =DateTime.Now int daydiff = (-1) * Convert.ToInt32(date.DayOfWeek) + 1; date = date.AddDays(daydiff + int.Parse((span).ToString()) * 7); //原始的不管跨年每次都会周第一天 if (span < 0 && date.Year != (date.AddDays(7)).Year) { date = DateTime.Parse((date.Year + 1).ToString() + "-01-01"); } else if (span == 0 && dateBak.Year != date.Year) //如果为0的话 { date = DateTime.Parse(dateBak.Year.ToString() + "-01-01"); } time = date.ToString("yyyy-MM-dd 00:00:00");