我现在 用php 制作一个显示 日期的方法  比如 我输入 开始时间 2008 12 31  结束时间 2009 01 05 需要显示 2008 12 31 到 2009 01 05 的日期全部显示在页面上  不知道 php有何方法 可用 谢谢 各位大大 帮忙 

解决方案 »

  1.   


    $begintime= "2008-12-31";
    $endtime = "2009-01-05";$beginunixtime = strtotime($begintime);
    $endunixtime = strtotime($endtime);$currentTime = strtotime("+1 day", $beginunixtime);
    while($currentTime > $beginunixtime && $currentTime < $endunixtime)
    {
    echo date('Y-m-d', $currentTime) . "<br/>";
    $currentTime = strtotime("+1 day", $currentTime);
    }
      

  2.   

    $begintime= "2008-12-31";
    $endtime = "2009-01-05";$by = 2008;
    $bm = 12;
    $bd = 31;$ey = 2009;
    $em = 1;
    $ed = 5;$btime = mktime( 0,0,0,12,31,2008 );
    $etime = mktime( 0,0,0,1,5,2009 );$dtime = 24*3600;
    $daytime = $btime + $dtime;while( $btime < $daytime && $daytime < $etime )
    {
        echo date( "Y-m-d", $daytime )."<br>\n";
        
    $daytime += $dtime;
    }
      

  3.   

    另类一点的解决方法。。递归呗~$begintime= strtotime("2008-12-31");
    $endtime = strtotime("2009-01-05"); print_time($begintime, $endtime);
    function print_time($time, $endtime) {
    if ($time < $endtime) {
    echo date('Y-m-d', $time);
    echo "<br>";
    print_time(strtotime('+1 day', $time), $endtime);
    }
    }
      

  4.   

    漏了最后一个日期。。$begintime= strtotime("2008-12-31");
    $endtime = strtotime("2009-01-05"); print_time($begintime, $endtime);
    function print_time($time, $endtime) {
    if ($time <= $endtime) {
    echo date('Y-m-d', $time);
    echo "<br>";
    print_time(strtotime('+1 day', $time), $endtime);
    }
    }