function DateTimePlus::prepareTimezone
Same name in other branches
- 9 core/lib/Drupal/Component/Datetime/DateTimePlus.php \Drupal\Component\Datetime\DateTimePlus::prepareTimezone()
- 8.9.x core/lib/Drupal/Component/Datetime/DateTimePlus.php \Drupal\Component\Datetime\DateTimePlus::prepareTimezone()
- 11.x core/lib/Drupal/Component/Datetime/DateTimePlus.php \Drupal\Component\Datetime\DateTimePlus::prepareTimezone()
Prepares the input timezone value.
Changes the timezone before trying to use it, if necessary. Most importantly, makes sure there is a valid timezone object before moving further.
Parameters
mixed $timezone: Either a timezone name or a timezone object or NULL.
Return value
\DateTimeZone The massaged time zone.
1 call to DateTimePlus::prepareTimezone()
- DateTimePlus::__construct in core/
lib/ Drupal/ Component/ Datetime/ DateTimePlus.php - Constructs a date object set to a requested date and timezone.
1 method overrides DateTimePlus::prepareTimezone()
- DrupalDateTime::prepareTimezone in core/
lib/ Drupal/ Core/ Datetime/ DrupalDateTime.php - Overrides prepareTimezone().
File
-
core/
lib/ Drupal/ Component/ Datetime/ DateTimePlus.php, line 440
Class
- DateTimePlus
- Wraps DateTime().
Namespace
Drupal\Component\DatetimeCode
protected function prepareTimezone($timezone) {
// If the input timezone is a valid timezone object, use it.
if ($timezone instanceof \DateTimezone) {
$timezone_adjusted = $timezone;
}
elseif (!empty($timezone) && is_string($timezone)) {
$timezone_adjusted = new \DateTimeZone($timezone);
}
// Default to the system timezone when not explicitly provided.
// If the system timezone is missing, use 'UTC'.
if (empty($timezone_adjusted) || !$timezone_adjusted instanceof \DateTimezone) {
$system_timezone = date_default_timezone_get();
$timezone_name = !empty($system_timezone) ? $system_timezone : 'UTC';
$timezone_adjusted = new \DateTimeZone($timezone_name);
}
// We are finally certain that we have a usable timezone.
return $timezone_adjusted;
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.