Scalr_Util_DateTime::getTimezones PHP Method

getTimezones() public static method

public static getTimezones ( boolean $returnOffset = false ) : array
$returnOffset boolean optional If true return object [timezone] = GMT offset, otherwise return array of timezones
return array
    public static function getTimezones($returnOffset = false)
    {
        $timezones = [];
        foreach (DateTimeZone::listIdentifiers() as $name) {
            if (preg_match('/^(America|Arctic|Asia|Atlantic|Europe|Indian|Pacific|Australia|UTC)/', $name)) {
                $timezones[] = $name;
            }
        }
        sort($timezones);
        if ($returnOffset) {
            $result = [];
            foreach ($timezones as $name) {
                $result[$name] = (new DateTime(null, new DateTimeZone($name)))->getOffset();
            }
            return $result;
        } else {
            return $timezones;
        }
    }

Usage Example

Example #1
0
 public function editAction()
 {
     $this->request->defineParams(array('schedulerTaskId' => array('type' => 'int')));
     //$DBFarmRole->FarmID;
     $task = Scalr_SchedulerTask::init();
     $task->loadById($this->getParam(self::CALL_PARAM_NAME));
     $this->user->getPermissions()->validate($task);
     $taskValues = array('targetId' => $task->targetId, 'targetType' => $task->targetType, 'id' => $task->id, 'name' => $task->name, 'type' => $task->type, 'comments' => htmlspecialchars_decode($task->comments), 'config' => $task->config, 'startTime' => $task->startTime ? Scalr_Util_DateTime::convertTimeZone(new DateTime($task->startTime), $task->timezone)->format('Y-m-d H:i') : '', 'endTime' => $task->endTime ? Scalr_Util_DateTime::convertTimeZone(new DateTime($task->endTime), $task->timezone)->format('Y-m-d H:i') : '', 'restartEvery' => $task->restartEvery, 'timezone' => $task->timezone);
     $farmWidget = array();
     switch ($task->targetType) {
         case Scalr_SchedulerTask::TARGET_FARM:
             $farmWidget = self::loadController('Farms')->getFarmWidget(array('farmId' => $task->targetId), 'addAll');
             break;
         case Scalr_SchedulerTask::TARGET_ROLE:
             $farmWidget = self::loadController('Farms')->getFarmWidget(array('farmRoleId' => $task->targetId), 'addAll');
             break;
         case Scalr_SchedulerTask::TARGET_INSTANCE:
             try {
                 $DBServer = DBServer::LoadByFarmRoleIDAndIndex($task->targetId, $task->targetServerIndex);
                 $farmWidget = self::loadController('Farms')->getFarmWidget(array('serverId' => $DBServer->serverId), 'addAll');
             } catch (Exception $e) {
                 $farmWidget = self::loadController('Farms')->getFarmWidget(array('farmRoleId' => $task->targetId), 'addAll');
             }
             break;
         default:
             break;
     }
     $this->response->page('ui/schedulertasks/create.js', array('farmWidget' => $farmWidget, 'timezones' => Scalr_Util_DateTime::getTimezones(), 'scripts' => self::loadController('Scripts')->getList(), 'defaultTimezone' => $this->user->getSetting(Scalr_Account_User::SETTING_UI_TIMEZONE), 'task' => $taskValues));
 }
All Usage Examples Of Scalr_Util_DateTime::getTimezones