static void Main(string[] args)
{
//获取当前时间
var date = DateTime.Now;
var m = (date.DayOfWeek == DayOfWeek.Sunday ? (DayOfWeek)7 : date.DayOfWeek) - DayOfWeek.Monday;
var s = (date.DayOfWeek == DayOfWeek.Sunday ? (DayOfWeek)7 : date.DayOfWeek) - (DayOfWeek)7;
//本周一时间
var Mon = date.AddDays((-m)).ToString("yyyy-MM-dd");
//本周日时间
var Sun = date.AddDays((-s)).ToString("yyyy-MM-dd");
//上周一时间
var Mon1 = date.AddDays((-7 - m)).ToString("yyyy-MM-dd");
//上周日时间
var Sun1 = date.AddDays((-7 - s)).ToString("yyyy-MM-dd");
//上上周一时间
var Mon2 = date.AddDays((-14 - m)).ToString("yyyy-MM-dd");
//上上周日时间
var Sun2 = date.AddDays((-14 - s)).ToString("yyyy-MM-dd");
Console.WriteLine(m);
Console.WriteLine(s);
Console.WriteLine(Mon,GetWeekOfYear(Convert.ToDateTime(Mon)));
Console.WriteLine(Sun);
Console.WriteLine(Mon1,GetWeekOfYear(Convert.ToDateTime(Mon1)));
Console.WriteLine(Sun1);
Console.WriteLine(Mon2,GetWeekOfYear(Convert.ToDateTime(Mon2)));
Console.WriteLine(Sun2);
}
//根据时间获取那年的第几周
public static int GetWeekOfYear(DateTime datetime)
{
//声明存储结果的变量
int intWeekOfYear = 0;
//获取该年1月1日的日期
DateTime dtFirstDay = new DateTime(datetime.Year, 1, 1);
//目标日期距离该年第一天的天数
int intDaysCount = Convert.ToInt32((datetime - dtFirstDay).TotalDays);
//目标日期距离该年第一周第一天的天数(sunday为0,monday为1)
intDaysCount += Convert.ToInt32(dtFirstDay.DayOfWeek);
//目标日期所在的周(此处做上取整运算)
intWeekOfYear = int.Parse(Math.Ceiling(intDaysCount / 7.0).ToString());
//返回计算结果
return intWeekOfYear;
}