getReports(); foreach ($allReports as $report) { $update = array('hour' => $this->adjustTimezoneBySite($report['hour'], $report['idsite'])); $model->updateReport($report['idreport'], $update); } } protected function adjustTimezoneBySite($hour, $idSite) { $timezone = Site::getTimezoneFor($idSite); $timeZoneDifference = -ceil(Date::getUtcOffset($timezone)/3600); return (24 + $hour + $timeZoneDifference) % 24; } }