DateTime dt = DateTime.Now; int weeknow = Convert.ToInt32(DateTime.Now.DayOfWeek); DateTime startWeek = dt.AddDays(1 - Convert.ToInt32(dt.DayOfWeek.ToString("d"))); //本周周一
这段代码在非周日的情况下获取每周的周一是没问题的。
一旦当前时间是周日那就完蛋了获取的周一是下周一.... 可能是我度娘的水平不行,大神有知道可行的方法可以在评论区留言。
其实只是需要判断一下是周日将日期减去一周就可以了。判断周几的代码
// 周日居然是0
int wkd = Convert.ToInt32(DateTime.Now.DayOfWeek);
判断后减去7天就可以了,代码如下:
int wkd = Convert.ToInt32(DateTime.Now.DayOfWeek); if (wkd == 0) { startWeek= startWeek.AddDays(-7); } DateTime endWeek = startWeek.AddDays(6); //本周周日 sDateTime= startWeek.ToString("yyyy-MM-dd") + " 00:00:00"; eDateTime= endWeek.ToString("yyyy-MM-dd") + " 23:59:59";
减法就是加个负数~~