我用这个可以实现:
echo date("Y-m-d H:i:s",strtotime("-1 day"));
但换成:
echo date($dts,strtotime("-1 day"));
就不行了,为什么?

解决方案 »

  1.   

    <?php
    //求一段时间内的日期列表,请教,非常感谢。]
    $dts='2005-01-12 08:00:00'; //起始时间
    $dte='2005-02-18 12:00:00'; //结束时间//问题一:想得到两个时间之间间隔的天数(整数)。
    $d = floor((strtotime($dte)-strtotime($dts))/(24*60*60));
    echo "$d<br>";//问题二:想得到基于当前时间(在起始和结束时间之间)的昨天和明天。
    //这个问题不太明确
    for($i=0;$i<$d;$i++) {
      $t = strtotime("$dts +$i day");
      echo date("Y-m-d",strtotime("-1 day",$t));
      echo date(" -- Y-m-d",$t);
      echo date(" -- Y-m-d",strtotime("+1 day",$t));
      echo "<br>";
    }
    ?>

    37
    2005-01-11 -- 2005-01-12 -- 2005-01-13
    2005-01-12 -- 2005-01-13 -- 2005-01-14
    2005-01-13 -- 2005-01-14 -- 2005-01-15
    2005-01-14 -- 2005-01-15 -- 2005-01-16
    2005-01-15 -- 2005-01-16 -- 2005-01-17
    2005-01-16 -- 2005-01-17 -- 2005-01-18
    2005-01-17 -- 2005-01-18 -- 2005-01-19
    2005-01-18 -- 2005-01-19 -- 2005-01-20
    2005-01-19 -- 2005-01-20 -- 2005-01-21
    2005-01-20 -- 2005-01-21 -- 2005-01-22
    2005-01-21 -- 2005-01-22 -- 2005-01-23
    2005-01-22 -- 2005-01-23 -- 2005-01-24
    2005-01-23 -- 2005-01-24 -- 2005-01-25
    2005-01-24 -- 2005-01-25 -- 2005-01-26
    2005-01-25 -- 2005-01-26 -- 2005-01-27
    2005-01-26 -- 2005-01-27 -- 2005-01-28
    2005-01-27 -- 2005-01-28 -- 2005-01-29
    2005-01-28 -- 2005-01-29 -- 2005-01-30
    2005-01-29 -- 2005-01-30 -- 2005-01-31
    2005-01-30 -- 2005-01-31 -- 2005-02-01
    2005-01-31 -- 2005-02-01 -- 2005-02-02
    2005-02-01 -- 2005-02-02 -- 2005-02-03
    2005-02-02 -- 2005-02-03 -- 2005-02-04
    2005-02-03 -- 2005-02-04 -- 2005-02-05
    2005-02-04 -- 2005-02-05 -- 2005-02-06
    2005-02-05 -- 2005-02-06 -- 2005-02-07
    2005-02-06 -- 2005-02-07 -- 2005-02-08
    2005-02-07 -- 2005-02-08 -- 2005-02-09
    2005-02-08 -- 2005-02-09 -- 2005-02-10
    2005-02-09 -- 2005-02-10 -- 2005-02-11
    2005-02-10 -- 2005-02-11 -- 2005-02-12
    2005-02-11 -- 2005-02-12 -- 2005-02-13
    2005-02-12 -- 2005-02-13 -- 2005-02-14
    2005-02-13 -- 2005-02-14 -- 2005-02-15
    2005-02-14 -- 2005-02-15 -- 2005-02-16
    2005-02-15 -- 2005-02-16 -- 2005-02-17
    2005-02-16 -- 2005-02-17 -- 2005-02-18
      

  2.   

    $dts='2005-01-12 08:00:00'; //起始时间
    $dte='2005-02-18 12:00:00'; //结束时间 $d = floor((strtotime($dte)-strtotime($dts))/(24*60*60));
     echo "$d<br>";
     for($i=0;$i<$d;$i++)
     {
      $t = strtotime("$dts +$i day");
      echo date(" -- Y-m-d H:i:s",$t);
      echo "<br>";
     }