class TimezoneController
Same name in other branches
- 8.9.x core/modules/system/src/Controller/TimezoneController.php \Drupal\system\Controller\TimezoneController
- 10 core/modules/system/src/Controller/TimezoneController.php \Drupal\system\Controller\TimezoneController
- 11.x core/modules/system/src/Controller/TimezoneController.php \Drupal\system\Controller\TimezoneController
Provides a callback for finding a time zone identifier.
Hierarchy
- class \Drupal\system\Controller\TimezoneController
Expanded class hierarchy of TimezoneController
File
-
core/
modules/ system/ src/ Controller/ TimezoneController.php, line 10
Namespace
Drupal\system\ControllerView source
class TimezoneController {
/**
* Returns a time zone identifier given a time zone abbreviation.
*
* @param string $abbreviation
* Time zone abbreviation.
* @param int $offset
* Offset from GMT in seconds. Defaults to -1 which means that first found
* time zone corresponding to abbreviation is returned. Otherwise exact
* offset is searched and only if not found then the first time zone with
* any offset is returned.
* @param null|int $is_daylight_saving_time
* Daylight saving time indicator. If abbreviation does not exist then the
* time zone is searched solely by offset and is DST.
*
* @return \Symfony\Component\HttpFoundation\JsonResponse
* The time zone identifier or 'false' in JsonResponse object.
*/
public function getTimezone($abbreviation = '', $offset = -1, $is_daylight_saving_time = NULL) {
$offset = intval($offset);
// Out of bounds check for offset. Offset +/- UTC is typically no
// smaller/larger than -12/+14.
if ($offset < -60000 || $offset > 60000) {
return new JsonResponse(FALSE);
}
if (isset($is_daylight_saving_time)) {
$original = intval($is_daylight_saving_time);
$is_daylight_saving_time = min(1, max(-1, intval($is_daylight_saving_time)));
// Catch if out of boundary.
if ($original !== $is_daylight_saving_time) {
return new JsonResponse(FALSE);
}
}
// An abbreviation of "0" passed in the callback arguments should be
// interpreted as the empty string.
$abbreviation = $abbreviation ? $abbreviation : '';
$timezone = timezone_name_from_abbr($abbreviation, $offset, $is_daylight_saving_time);
return new JsonResponse($timezone);
}
}
Members
Title Sort descending | Modifiers | Object type | Summary |
---|---|---|---|
TimezoneController::getTimezone | public | function | Returns a time zone identifier given a time zone abbreviation. |
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.