C#获取当前时间的上周时间
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; }