N98\Util\DateTime::getDifferenceAsString PHP Метод

getDifferenceAsString() публичный Метод

Returns a readable string with time difference
public getDifferenceAsString ( DateTime $time1, DateTime $time2 ) : string
$time1 DateTime
$time2 DateTime
Результат string
    public function getDifferenceAsString(PhpDateTime $time1, PhpDateTime $time2)
    {
        if ($time1 == $time2) {
            return '0';
        }
        $interval = $time1->diff($time2);
        $years = $interval->format('%y');
        $months = $interval->format('%m');
        $days = $interval->format('%d');
        $hours = $interval->format('%h');
        $minutes = $interval->format('%i');
        $seconds = $interval->format('%s');
        $differenceString = ($years ? $years . 'Y ' : '') . ($months ? $months . 'M ' : '') . ($days ? $days . 'd ' : '') . ($hours ? $hours . 'h ' : '') . ($minutes ? $minutes . 'm ' : '') . ($seconds ? $seconds . 's ' : '');
        return trim($differenceString);
    }

Usage Example

 /**
  * Returns a readable runtime
  *
  * @param $indexer
  * @return mixed
  */
 protected function getRuntime($indexer)
 {
     $dateTimeUtils = new DateTimeUtils();
     $startTime = new \DateTime($indexer->getStartedAt());
     $endTime = new \DateTime($indexer->getEndedAt());
     if ($startTime > $endTime) {
         return 'index not finished';
     }
     $lastRuntime = $dateTimeUtils->getDifferenceAsString($startTime, $endTime);
     return $lastRuntime;
 }