在PHP中查找datetime对象与当前时间(以秒为单位)之间的差异

时间:2015-08-24 12:26:25

标签: php date datetime time

假设我有一个日期时间对象2015-12-31T12:59。有没有办法在PHP中找到当前日期时间和上述日期时间对象之间的差异,以秒为单位?基本上,有没有办法找出从这个时刻到未来日期时间对象指定的日期时间的秒数?

我做了一些挖掘,发现PHP中有一个DateTime类,但我不确定它是否需要2015-12-31T12:59之类的格式作为输入。

1 个答案:

答案 0 :(得分:0)

你可以尝试使用这种方式,这个结果会给出秒,分,小时,天......的差异。

//use this way-----------------------

        $c_time=//your current time
        $date_current_time = date('Y-m-d H:i:s');

        $datetime1 = new DateTime($c_time);
        $datetime2 = new DateTime($date_current_time);
        $difference = $datetime1->diff($datetime2);
        $f6=$difference->y.' Y '; 
        $f5=$difference->m.' M'; 
        $f4=$difference->d.' D';
        $f3=$difference->h.' hr';
        $f2=$difference->i.' min';
        $f1=$difference->s.' sec';

if($f2==0 && $f3==0 && $f4==0 && $f5==0 && $f6==0)
     {
         if($f1<=20)
           {
           $time=" few sec ago";
           }
         else if($f1>20)
           {
          $time=$f1." ago";
           }

     }
     else if($f3==0 && $f4==0 && $f5==0 && $f6==0)
     {
          if($f2<=2)
          {
          $time=" few min ago";
          }
         else if($f2>2)
          {
          $time=$f2." ago";
          }

     }
    else if($f4==0 && $f5==0 && $f6==0)
      {
         $time=$f3." ago";
      }
        else if($f5==0 && $f6==0)
      {

          $time=$f4." ago";
      }
        else if($f6==0)
      {
         $time=$f5." ago";
      }
    else
    {
    $time=$f6." ago";
    }

这可能有助于......获得时间的差异