$daytime=12 //相隔的天数
 $datetime=2010-03-04 时间
1 怎么取得$datetime前 $daytime 的时间

解决方案 »

  1.   


    $daytime=12;
    $datetime="2010-03-04";
    echo date("Y-m-d", strtotime($datetime) - 86400*12);
      

  2.   


    $daytime=12;
    $datetime="2010-03-04";
    echo date("Y-m-d", strtotime($datetime) - 86400*$daytime);
      

  3.   

    $daytime = 12; //相隔的天数
    $datetime = '2010-03-04';// 时间
    echo date('Y-m-d', strtotime("-$daytime day $datetime")); //out 2010-02-20
      

  4.   

    echo date('Y-m-d', strtotime('-12 days 2010-03-04'));
    看看手册就知道这个函数的强大了.
      

  5.   

    echo date('Y-m-d', strtotime('-12 day 2010-03-04'));
    看看手册就知道这个函数的强大了.
      

  6.   


    /**
     * 返回给指定的日期添加天数后的日期
     *
     * @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;
    }
    }
    }
    }