如题,以当前时间为起点,取本周的起、止日期,和上周的起、止日期。谢谢

解决方案 »

  1.   

    很简单的,DateTime类型有一个DayOfWeek的属性0表示星期天,1表示星期一,6表示星期六,这下你自己应该会推算了吧
      

  2.   

    DateTime dt = DateTime.Now;
    dt.DayOfWeek就是星期几的意思了dt.AddDays( 0 - (dt.DayOfWeek - 1 + 7)) 这样就可以求出,这周一的日期了,当然,我是认为星期天是一个星期的最后一天
    这样,本周的日期就是DateTime dt = DateTime.Now;
    DataTime WeekStartDate = dt.AddDays( 0 - (dt.DayOfWeek - 1 + 7));
    DataTime WeekEndDate = WeekStartDate.AddDays(7);
      

  3.   

    DayOfWeek 是不是跟电脑设置有关?我29号的起止时间是22-29,应该是3.29-4.4才对呀
      

  4.   

    今天3.29,我的dt.DayOfWeek 返回是1,0 - (dt.DayOfWeek - 1 + 7)的结果变成-7了
      

  5.   

    try...DateTime dt = DateTime.Now;  //当前时间
    int dayOfWeek = Convert.ToInt32(dt.DayOfWeek.ToString("d"));
    DateTime weekStart = dt.AddDays(1 - ((dayOfWeek == 0) ? 7 : dayOfWeek));   //本周周一
    DateTime weekEnd = weekStart.AddDays(6);  //本周周日
    DateTime lastWeekStart = weekStart.AddDays(-7);  //上周周一
    DateTime lastWeekEnd = weekEnd.AddDays(-7);  //上周周日
      

  6.   

    int week = (int)DateTime.Today.DayOfWeek;
    if (week == 0) week = 7; 
    DateTime beginDate = DateTime.Today.AddDays(-(week - 1));
    DateTime  endDate = beginDate.AddDays(6);
      

  7.   

    DateTime.Now.AddDays(Convert.ToDouble((0 - Convert.ToInt16(DateTime.Now.DayOfWeek)))).ToShortDateString();DateTime.Now.AddDays(Convert.ToDouble((0 - Convert.ToInt16(DateTime.Now.DayOfWeek))) - 7).ToShortDateString();
     DateTime.Now.AddDays(Convert.ToDouble((6 - Convert.ToInt16(DateTime.Now.DayOfWeek))) - 7).ToShortDateString();
      

  8.   

    做个记号,留后人
     
    int nWeek = (int)DateTime.Now.DayOfWeek;
    nWeek = (nWeek == 0) ? 7 : nWeek;本周一  = DateTime.Now.AddDays(1-nWeek); 
    本周日  = DateTime.Now.AddDays(1-nWeek+6); 上周一  =DateTime.Now.AddDays(1-nWeek-7); 
    上周日  =DateTime.Now.AddDays(nWeek); 多谢楼上几位