怎么能够打印出
2010-3-29到2010-4-8日之间的日期
打印出来的显示结果为:
2010-3-29
2010-3-30
2010-3-31
2010-4-1
2010-4-2
2010-4-3
2010-4-4
2010-4-5
2010-4-6
2010-4-7
2010-4-8

解决方案 »

  1.   

    $t = strtotime('-1 day 2010-3-29');
    for($i=0; date('Y-n-j', $t) < '2010-4-8'; $i++) {
      echo date('Y-m-d', $t=strtotime("+1 day", $t)) . '<br />';
    }out:
    2010-03-29
    2010-03-30
    2010-03-31
    2010-04-01
    2010-04-02
    2010-04-03
    2010-04-04
    2010-04-05
    2010-04-06
    2010-04-07
    2010-04-08
      

  2.   


    //借有楼上的。
    function get_days($start,$end)
    {
    $result = array();
    $t = strtotime('-1 day $start');
    for($i=0; date('Y-n-j', $t) < '$end'; $i++) {
     $result[]= date('Y-m-d', $t=strtotime("+1 day", $t)) ;
    }
    return $result;
    }
    //再附送几个与时间相关的函数。
    /**
     * 返回给指定的日期添加天数后的日期
     *
     * @param string $date 被添加的日期
     * @param int $addDay 添加的天数
     * @return string
     */
    function dateAdd($date, $addDay){
       $parts = explode(' ', $date);
       $date = $parts[0];
       $time = $parts[1];
       $ymd = explode('-', $date);
       $hms = explode(':', $time);
       $year = $ymd[0];
       $month = $ymd[1];
       $day = $ymd[2];
       $hour = $hms[0];
       $minute = $hms[1];
       $second = $hms[2];
       $day = $day+$addDay;  
       if($month=='1' || $month=='3' || $month=='5' || $month=='7' || $month=='8' || $month=='10' || $month=='12'){
          if($day>31){
             $day = $day - 31;
             $month++;
          }
       }
       if($month=='4' || $month=='6' || $month=='9' || $month=='11'){
          if($day>30){
             $day = $day - 30;
             $month++;
          }
       }
       if($month=='2'){
          if(checkRun($year)){
              //Feb has 29 days in leap year
             if($day>29){
                $day = $day - 29;
                $month++;
             }
          }
          else{
             if($day>28){
                $day = $day - 28;
                $month++;
             }
          }
       }
       if($month==13){
          $month = 1;
          $year++;
       }
       if(strlen($month)==1){$month = "0".$month;}
       if(strlen($day)==1){$day = "0".$day;}
       return $year . "-" . $month . "-" . $day;
    }/**
     * 验证是否是润年
     *
     * @param int $year 年份
     * @return boolean 如果是则返回True,否则返回False
     */
    function checkRun($year){
       if($year%4==0 && ($year%100!=0 || $year%400==0) )
          return true;
       else
          return false;
    }/**
     * 将时间转化成秒
     * @param string $time
     */
    function time_to_second($time) {
    if (is_time($time)) {
    $array_time = explode(':', $time);
    return $array_time[0]*3600+$array_time[1]*60+$array_time[2];
    } else {
    return 0;
    }
    }/**
     * 将时间转化为unix时间戳
     *
     * @param string $date
     * @return int 如果转化成功则返回unix时间戳,否则返回-1
     */
    function format_date_to_unix($date){
    $date = trim($date);
    $regexp = '^([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})( ([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2}))?$';
    if(ereg($regexp,$date,$regs)){
    return mktime($regs[5],$regs[6],$regs[7],$regs[2],$regs[3],$regs[1]);
    }else{
    return -1;
    }
    }/**
     * Calculation of the time the auction closes
     * @param int $begin unix timestamp
     * @param int $end unix timestamp
     * @return string The time the auction closes
     */
    function date_between($begin, $end = 0, $between = FALSE)
    {
    if ($end === 0) $end = time();
    if ($between === FALSE) $between = $begin - $end;
    if($between < 0) return '';
    if ($between < 60)
    {
    return $between.'秒';
    }
    else
    {
    $second  = $between % 60;
    $between = $between / 60;
    if ($between < 60)
    {
    return (int)$between."分".$second."秒";
    }
    else if($between === 60)
    {
    return "1小时";
    }
    else
    {
    $minute = $between % 60;
    $between = ($between - $minute) / 60;
    if ($between < 24)
    {
    $string = (int)$between."小时";
    if ($minute > 0)
    {
    $string .= $minute."分";
    }
    return $string;
    }
    else if($between === 24)
    {
    return "1天";
    }
    else
    {
    $hour  = $between % 24;
    $between = $between - $hour;
    $day  = $between / 24;
    $string = (int)$day."天";
    if ($hour > 0)
    {
    $string .= $hour."小时";
    }
    if ($minute > 0)
    {
    $string .= $minute."分";
    }
    return $string;
    }
    }
    }