Scalr_Util_DateTime::getDateTimeDiff PHP Method

getDateTimeDiff() public static method

Calculates difference in seconds between two dates.
public static getDateTimeDiff ( $dateTime1, $dateTime2, boolean $humanReadable = true ) : string | integer
$humanReadable boolean Return number of seconds or human readable string
return string | integer Returns difference between dates.
    public static function getDateTimeDiff($dateTime1, $dateTime2, $humanReadable = true)
    {
        if (!$dateTime1 instanceof DateTime) {
            $dateTime1 = new DateTime($dateTime1);
        }
        if (!$dateTime2 instanceof DateTime) {
            $dateTime2 = new DateTime($dateTime2);
        }
        $diff = $dateTime1->getTimestamp() - $dateTime2->getTimestamp();
        if ($humanReadable) {
            $diff = Scalr_Util_DateTime::getHumanReadableTimeout($diff);
        }
        return $diff;
    }

Usage Example

Exemplo n.º 1
0
 /**
  * @param  int  $id
  */
 public function xListTasksAction($id = 0)
 {
     $sql = "\n            SELECT bt.*, (SELECT EXISTS (SELECT 1 FROM servers WHERE server_id = bt.server_id)) as server_exists\n            FROM bundle_tasks AS bt\n            LEFT JOIN farms AS f ON f.id = bt.farm_id\n            WHERE bt.env_id = ?\n            AND :FILTER:\n            AND (bt.farm_id IS NULL OR bt.farm_id IS NOT NULL AND {$this->request->getFarmSqlQuery()})\n        ";
     $args = [$this->getEnvironmentId()];
     if ($id) {
         $sql .= " AND bt.id = ?";
         $args[] = $id;
     }
     $response = $this->buildResponseFromSql2($sql, ['id', 'server_id', 'rolename', 'status', 'os_family', 'dtadded', 'dtstarted', 'created_by_email'], ['bt.id', 'rolename'], $args);
     foreach ($response["data"] as &$row) {
         $row['dtadded'] = Scalr_Util_DateTime::convertTz($row['dtadded']);
         if (!$row['bundle_type']) {
             $row['bundle_type'] = "*";
         }
         if ($row['dtfinished'] && $row['dtstarted']) {
             $row['duration'] = Scalr_Util_DateTime::getDateTimeDiff($row['dtfinished'], $row['dtstarted']);
         }
         if ($row['dtfinished']) {
             $row['dtfinished'] = Scalr_Util_DateTime::convertTz($row['dtfinished']);
         }
         if ($row['dtstarted']) {
             $row['dtstarted'] = Scalr_Util_DateTime::convertTz($row['dtstarted']);
         }
     }
     $this->response->data($response);
 }
All Usage Examples Of Scalr_Util_DateTime::getDateTimeDiff