![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/magento/framework/Stdlib/DateTime/Timezone/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ declare(strict_types=1); namespace Magento\Framework\Stdlib\DateTime\Timezone; use Magento\Framework\Locale\ResolverInterface; use Magento\Framework\Stdlib\DateTime\TimezoneInterface; /** * Localized date to UTC converter. */ class LocalizedDateToUtcConverter implements LocalizedDateToUtcConverterInterface { /** * Contains default date format * * @var string */ private $defaultFormat = 'Y-m-d H:i:s'; /** * @var TimezoneInterface */ private $timezone; /** * @var ResolverInterface */ private $localeResolver; /** * @param TimezoneInterface $timezone * @param ResolverInterface $localeResolver */ public function __construct( TimezoneInterface $timezone, ResolverInterface $localeResolver ) { $this->timezone = $timezone; $this->localeResolver = $localeResolver; } /** * @inheritdoc */ public function convertLocalizedDateToUtc($date) { $configTimezone = $this->timezone->getConfigTimezone(); $locale = $this->localeResolver->getLocale(); $formatter = new \IntlDateFormatter( $locale, \IntlDateFormatter::MEDIUM, \IntlDateFormatter::MEDIUM, $configTimezone ); $localTimestamp = $formatter->parse($date); $gmtTimestamp = $this->timezone->date($localTimestamp)->getTimestamp(); $formattedUniversalTime = date($this->defaultFormat, $gmtTimestamp); $date = new \DateTime($formattedUniversalTime); return $date->format($this->defaultFormat); } }