b374k
m1n1 1.01
Apache/2.4.41 (Ubuntu)
Linux vmi616275.contaboserver.net 5.4.0-84-generic #94-Ubuntu SMP Thu Aug 26 20:27:37 UTC 2021 x86_64
uid=33(www-data) gid=33(www-data) groups=33(www-data)
server ip : 62.171.164.128 | your ip : 127.0.0.1
safemode OFF
 >  / home / dev2.destoffenstraat.com / vendor / magento / framework / Stdlib / DateTime /
Filename/home/dev2.destoffenstraat.com/vendor/magento/framework/Stdlib/DateTime/DateTimeFormatter.php
Size3.07 kb
Permissionrw-r--r--
Ownerroot : root
Create time17-Aug-2025 10:26
Last modified07-Jan-2021 21:08
Last accessed22-Aug-2025 14:44
Actionsedit | rename | delete | download (gzip)
Viewtext | code | image
<?php
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/

namespace Magento\Framework\Stdlib\DateTime;

use Magento\Framework\Exception\LocalizedException;
use Magento\Framework\Phrase;

/**
* {@inheritdoc}
*/
class DateTimeFormatter implements DateTimeFormatterInterface
{
/**
* @var bool
*/
protected $useIntlFormatObject;

/**
* @var \Magento\Framework\Locale\ResolverInterface
*/
private $localeResolver;

/**
* @param bool|null $useIntlFormatObject
*/
public function __construct(
$useIntlFormatObject = null
) {
$this->useIntlFormatObject = (null === $useIntlFormatObject)
? !defined('HHVM_VERSION')
: $useIntlFormatObject;
}

/**
* Get locale resolver
*
* @return \Magento\Framework\Locale\ResolverInterface|mixed
*/
private function getLocaleResolver()
{
if ($this->localeResolver === null) {
$this->localeResolver = \Magento\Framework\App\ObjectManager::getInstance()->get(
\Magento\Framework\Locale\ResolverInterface::class
);
}
return $this->localeResolver;
}

/**
* {@inheritdoc}
*/
public function formatObject($object, $format = null, $locale = null)
{
$locale = (null === $locale) ? $this->getLocaleResolver()->getLocale() : $locale;
if ($this->useIntlFormatObject) {
return \IntlDateFormatter::formatObject($object, $format, $locale);
}
return $this->doFormatObject($object, $format, $locale);
}

/**
* Implements what IntlDateFormatter::formatObject() is in PHP 5.5+
*
* @param \IntlCalendar|\DateTimeInterface $object
* @param string|int|array|null $format
* @param string|null $locale
* @return string
* @throws LocalizedException
*/
protected function doFormatObject($object, $format = null, $locale = null)
{
$pattern = $dateFormat = $timeFormat = $calendar = null;

if (is_array($format)) {
list($dateFormat, $timeFormat) = $format;
} elseif (is_numeric($format)) {
$dateFormat = $format;
} elseif (is_string($format) || null == $format) {
$dateFormat = $timeFormat = \IntlDateFormatter::MEDIUM;
$pattern = $format;
} else {
throw new LocalizedException(
new Phrase('The format type is invalid. Verify the format type and try again.')
);
}

$timezone = $object->getTimezone();
if ($object instanceof \IntlCalendar) {
$timezone = $timezone->toDateTimeZone();
}
$timezone = $timezone->getName();

if ($timezone === '+00:00') {
$timezone = 'UTC';
} elseif ($timezone[0] === '+' || $timezone[0] === '-') { // $timezone[0] is first symbol of string
$timezone = 'GMT' . $timezone;
}

return (new \IntlDateFormatter($locale, $dateFormat, $timeFormat, $timezone, $calendar, $pattern))
->format($object);
}
}