getDT()能得到系统当前时间!PHP里有没有能够得到上一周的时间的函数!例如:今天是2010-3-11 我想得到上一周,周一是2010-3-1,周日是2010-3-7日以此类推下一周时间我又如何得到下周周一是2010-3-15,下周周日是2010-3-21日。还有本周周一是2010-3-8,本周周日是2010-3-14日。
$regdate=getDT();//系统时间
小妹才学疏浅刚刚接触PHP不久,希望各位前辈不吝赐教!谢谢!

解决方案 »

  1.   


    # 获取上周星期$w的日期
    function get_last_week_time($w = 1){
     $week = date("w",time());
     $days = $week + 7 - $w;
     return date("Y-m-d",time() - 24 * 60 * 60 * $days);
    }
      

  2.   

    2楼前辈function get_last_week_time($w = 1){
             $week    =    date("w",time());
             $days    =    $week + 7 - $w;
             return date("Y-m-d",time() - 24 * 60 * 60 * $days);
    }
    echo get_last_week_time(getDT());
    我这样调用返回的时间是2015-8-31 这是怎么回事!
      

  3.   

    <?php 
    echo date("Y-m-d",strtotime("last Monday -1 week"));//2010-03-01
    echo "<br>";
    echo date("Y-m-d",strtotime("last Sunday"));//2010-03-07
    echo "<br>";
    echo date("Y-m-d",strtotime("next Monday"));//2010-03-15
    echo "<br>";
    echo date("Y-m-d",strtotime("next Sunday +1 week"));//2010-03-21
    echo "<br>";
    echo date("Y-m-d",strtotime("last Monday"));//2010-03-08
    echo "<br>";
    echo date("Y-m-d",strtotime("next Sunday"));//2010-03-14
    ?>
      

  4.   

    $w 是星期的索引,不是当前时间
    $w 默认是 星期一 1
    2 就是上个星期二
    3 上个星期三
    ....
    7 上个星期天如果要更改当前时间,你把函数里面的time() 替换成你想要的时间
    更改下function get_last_week_time($w = 1,$time = time()){
             $week    =    date("w",$time);
             $days    =    $week + 7 - $w;
             return date("Y-m-d",$time - 24 * 60 * 60 * $days);
    }获取时间getDT()的上一个星期一: get_last_week_time(1,getDT())
      

  5.   

    您的这个方法我试过了!有一个小问题!假如今天恰如星期日那么我调用echo get_last_week_time(1);
    的话就返回本周的周一的时间!我把系统时间调成2010-3-14, 调用函数后返回2010-3-8显然不是上周一的时间!
      

  6.   

    4楼前辈。
    我如果把系统时间调成2010-3-14 星期日以下这条语句返回的是2010-3-21下周周日echo date("Y-m-d",strtotime("next Sunday"));//2010-03-14如何判定今日是星期几!
      

  7.   

    是的,有点错误 function get_last_week_time($w = 1,$time = ''){
    $time = empty($time)?time():$time;
             $week    =    date("w",$time);
             $week = ($week == 0)?7:$week;
             $days    =    $week + 7 - $w;
             return date("Y-m-d",$time - 24 * 60 * 60 * $days);
    }
    # 输出 当系统时间为 2010.3.14 这周星期天的上周星期一
    echo $this->get_last_week_time(1,mktime(1,1,1,3,14,2010));
      

  8.   

    echo $this->get_last_week_time(1,mktime(1,1,1,3,14,2010));改为 echo get_last_week_time(1,mktime(1,1,1,3,14,2010));我是在类里面测试的,你单独测试就比用加$this
      

  9.   

    echo date("Y-m-d",strtotime("Sunday"));//2010-03-14 
      

  10.   

    echo date('w'); //返值中:0 为星期天