<?
$TimeFrom = '08:00';
$TimeTo = '19:00';
$SlotPeriod = 60;$d = date('Y-m-d ');
$i = 0;
for($t=0;$t < strtotime($d.$TimeTo);$t++){
?>
<tr>
<td>
<?
  $t = strtotime("$d$TimeFrom +$i minutes");
  $test=date("H:i",$t)."|".date("H:45",$t)."";
  echo date("H:i",$t)."-".date("H:45",$t)."<br>";
  $i += $SlotPeriod;
  ?>
</td>
这是你以前给我的代码,想做成楼上的需求,可以吗?

解决方案 »

  1.   

    是不是这个意思?
    <?
    $TimeFrom = '08:00';
    $TimeTo = '19:00';
    $SlotPeriod = 60;$d = date('Y-m-d ');
    for($t=strtotime($d.$TimeFrom);$t < strtotime($d.$TimeTo);$t+=60*60){
    ?>
    <tr>
    <td>
    <?
      echo date("H:00",$t)."-".date("H:45",$t)."<br>";
      
    ?>
    </td>
    </tr>
    <?}?>
      

  2.   

    不是
    <?php
    $d1 = '08:00';
    $d2 = '22:00';
    $h = 60;
    $d3 = 20;//&brvbar;^?¨&ccedil;?
    function foo($r) {
      return $r[1]*60+$r[2];
    }
    //¤&Agrave;&reg;&aelig;&brvbar;&iexcl;¨ì¤&Agrave;
    $d1 = preg_replace_callback("/(\d+):(\d+)/","foo",$d1);
    $d2 = preg_replace_callback("/(\d+):(\d+)/","foo",$d2);
    //&acute;`?
    for($i=$d1;$i<$d2;$i+=$h) {
      printf("%02d:%02d - %02d:%02d<br>",floor($i/60),$i%60,floor(($i+$h-$d3)/60),($i+$h-$d3)%60);
    }
    ?>
    是这个,但我要得到她们的值并给她们的东西调用
    能不能在这个函数的基础上得到这些值
      

  3.   

    谢谢,你这个函数和我的需要是正确的,但我不能再次取到她们的值,像这样:
    $test=date("H:i",$t)."|".date("H:45",$t)."";(这样我就能取得到)
    $d1 = '08:00';
    $d2 = '22:00';
    $h = 60;
    $d3 = 20;
    我要的是能够根据上面的四个变量,也就是:
    <?php
    $d1 = '08:00';
    $d2 = '22:00';
    $h = 60;
    $d3 = 20;//&brvbar;^?¨&ccedil;?
    function foo($r) {
      return $r[1]*60+$r[2];
    }
    //¤&Agrave;&reg;&aelig;&brvbar;&iexcl;¨ì¤&Agrave;
    $d1 = preg_replace_callback("/(\d+):(\d+)/","foo",$d1);
    $d2 = preg_replace_callback("/(\d+):(\d+)/","foo",$d2);
    //&acute;`?
    for($i=$d1;$i<$d2;$i+=$h) {
      printf("%02d:%02d - %02d:%02d<br>",floor($i/60),$i%60,floor(($i+$h-$d3)/60),($i+$h-$d3)%60);
    }
    ?>
    循环出来后,能够取到循环后的值并赋于$test= printf("%02d:%02d - %02d:%02d<br>",floor($i/60),$i%60,floor(($i+$h-$d3)/60),($i+$h-$d3)%60);
      

  4.   

    <?php
    $d1 = '08:00';
    $d2 = '22:00';
    $h = 60;
    $d3 = 20;//&brvbar;^?¨&ccedil;?
    function foo($r) {
      return $r[1]*60+$r[2];
    }
    //¤&Agrave;&reg;&aelig;&brvbar;&iexcl;¨ì¤&Agrave;
    $d1 = preg_replace_callback("/(\d+):(\d+)/","foo",$d1);
    $d2 = preg_replace_callback("/(\d+):(\d+)/","foo",$d2);
    //&acute;`?
    for($i=$d1;$i<$d2;$i+=$h) {
      printf("%02d:%02d - %02d:%02d<br>",floor($i/60),$i%60,floor(($i+$h-$d3)/60),($i+$h-$d3)%60);
    }
    ?>
    这个函数放在页面里出错呀,我不会用呀
    还有呀,我要把循环的东西赋给一个变量$ss,怎么赋呀?
      

  5.   

    运行结果:
    08:00 - 08:40
    09:00 - 09:40
    10:00 - 10:40
    11:00 - 11:40
    12:00 - 12:40
    13:00 - 13:40
    14:00 - 14:40
    15:00 - 15:40
    16:00 - 16:40
    17:00 - 17:40
    18:00 - 18:40
    19:00 - 19:40
    20:00 - 20:40
    21:00 - 21:40没有出错的地方啊还有呀,我要把循环的东西赋给一个变量$ss,怎么赋呀?
    ::::
     $ss=sprintf("%02d:%02d - %02d:%02d<br>",floor($i/60),$i%60,floor(($i+$h-$d3)/60),($i+$h-$d3)%60);如果你想将循环中所有的结果都保存的话就是这样
     $ss=$ss.sprintf("%02d:%02d - %02d:%02d<br>",floor($i/60),$i%60,floor(($i+$h-$d3)/60),($i+$h-$d3)%60)."<br>";
      

  6.   

    我以前帮一个朋友写过一个,试试看.:)
    function time_cycle($time_begin,$time_end)
    {
        $first = strtotime($time_begin);
        $last  = strtotime($time_end);
        $n = ($last - $first) / 3600;
        $i = 0;
        $result = '';
        while( $i < $n )
        {
    $result .=  date( 'H:i',$first + $i * 3600 ) . "-" . date( 'H:i',$first + ($i + 1) * 3600 ) . "</br>";
    $i++;
        }
        return $result;
    }
    echo time_cycle('00:00','23:00');
    /*
    result:
    09:00-10:00
    10:00-11:00
    11:00-12:00
    12:00-13:00
    13:00-14:00
    14:00-15:00
    15:00-16:00
    16:00-17:00
    17:00-18:00
    */