/
githubmirror
/
magento2
Обзор
Документация
Войти
/
githubmirror
/
magento2
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
2.4-develop
lib/internal/Magento/Framework/Stdlib/DateTime/Timezone/LocalizedDateToUtcConverter.php
69 строк
2 KB
Alexandra Zota
ACP2E-4019: CE copyright updates for 2.4.9-beta1
22 окт 2025, 17:47
22 окт 2025, 17:47
1b769b7
Код
Авторство
О чём код?
<?php /** * Copyright 2018 Adobe * All Rights Reserved. */ 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); } }