You are here

protected static function Carbon::safeCreateDateTimeZone in Persian Date for Drupal 8 8.4

Creates a DateTimeZone from a string, DateTimeZone or integer offset.

Parameters

\DateTimeZone|string|int|null $object:

Return value

\DateTimeZone

Throws

\InvalidArgumentException

3 calls to Carbon::safeCreateDateTimeZone()
Carbon::createFromFormat in src/Library/Carbon/Carbon.php
Create a Carbon instance from a specific format.
Carbon::setTimezone in src/Library/Carbon/Carbon.php
Set the instance's timezone from a string or object
Carbon::__construct in src/Library/Carbon/Carbon.php
Create a new Carbon instance.

File

src/Library/Carbon/Carbon.php, line 228

Class

Carbon
A simple API extension for DateTime

Namespace

Drupal\persian_date\Library\Carbon

Code

protected static function safeCreateDateTimeZone($object) {
  if ($object === null) {

    // Don't return null... avoid Bug #52063 in PHP <5.3.6
    return new DateTimeZone(date_default_timezone_get());
  }
  if ($object instanceof DateTimeZone) {
    return $object;
  }
  if (is_numeric($object)) {
    $tzName = timezone_name_from_abbr(null, $object * 3600, true);
    if ($tzName === false) {
      throw new InvalidArgumentException('Unknown or bad timezone (' . $object . ')');
    }
    $object = $tzName;
  }
  $tz = @timezone_open((string) $object);
  if ($tz === false) {
    throw new InvalidArgumentException('Unknown or bad timezone (' . $object . ')');
  }
  return $tz;
}