asp.net 根据当前时间获取本周、上周、下周的周一、周日日期


//本周周一日期,返回结果格式:2014-5-5 0:00:00

public static DateTime GetMondayDate()

{

  DateTime dt=DateTime.Now;

  int today=(int)dt.DayOfWeek;

  if(dt.DayOfWeek.Tostring()!="Sunday")//也可以使用today!=0

  {

    return dt.AddDays(1-today).Date;

  }

  else

  {

    return dt.AddDays(-6-today).Date;//若今天是周日,获取到的周一日期是下周一的日期,所以要减去7天

  }

}

//本周日日期

public static DateTime GetSundayDate()

{

  DateTime dt=DateTime.Now;

  int today=(int)dt.DayOfWeek;

  if(dt.DayOfWeek.Tostring()!="Sunday")//也可以使用today!=0

  {

    return dt.AddDays(7-today).Date;

  }

  else

  {

    return dt.AddDays(-today).Date;//若今天是周日,获取到的周日日期是下周日的日期,所以要减去7天

  }

}

//上周一日期

public static DateTime GetLastMondayDate()

{

  DateTime dt=DateTime.Now;

  int today=(int)dt.DayOfWeek;

  if(dt.DayOfWeek.Tostring()!="Sunday")//也可以使用today!=0

  {

    return dt.AddDays(-today-6).Date;

  }

  else

  {

    return dt.AddDays(-today-13).Date;//若今天是周日,获取到的上周一的日期是本周周一的日期,所以要减去7天

  }

}

//上周日日期

public static DateTime GetLastSundayDate()

{

  DateTime dt=DateTime.Now;

  int today=(int)dt.DayOfWeek;

  if(dt.DayOfWeek.Tostring()!="Sunday")//也可以使用today!=0

  {

    return dt.AddDays(-today).Date;

  }

  else

  {

    return dt.AddDays(-today-7).Date;//若今天是周日,获取到的上周日的日期是本周周日的日期,所以要减去7天

  }

}

//下周周一日期

public static DateTime GetNextMondayDate()

{

  DateTime dt=DateTime.Now;

  int today=(int)dt.DayOfWeek;

  if(dt.DayOfWeek.Tostring()!="Sunday")//也可以使用today!=0

  {

    return dt.AddDays(-today+8).Date;

  }

  else

  {

    return dt.AddDays(-today+1).Date;//若今天是周日,获取到的下周周一日期是下下周一的日期,所以要减去7天

  }

}

//下周周日日期

public static DateTime GetNextSundayDate()

{

  DateTime dt=DateTime.Now;

  int today=(int)dt.DayOfWeek;

  if(dt.DayOfWeek.Tostring()!="Sunday")//也可以使用today!=0

  {

    return dt.AddDays(14-today).Date;

  }

  else

  {

    return dt.AddDays(7-today).Date;//若今天是周日,获取到的下周周日日期是下下周日的日期,所以要减去7天

  }

}

原文地址:https://www.cnblogs.com/chenyuwang2009/p/3715681.html