博客园站长
这是人类成长进步中记录的每一时刻

 

需求:跨年周,如果当前动态加减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");

 

posted on 2015-05-11 14:56  dm3344  阅读(410)  评论(0编辑  收藏  举报