Если вы используете стандартные функции времени date(), time(),now(), и т.д напрямую в коде Magento, то вы будете удивлены...

Даже если вы правильно выставили временную зону сервера, выведенное время неприятно вас удивит


//Выводим дату и получаем не то время
$now = time();
echo date('m/d/y h:i:s', time());

Это все происходит независимо от того какие у вас настройки в php.ini.

Magento сбрасывает временную зону на UTC в Mage_Core_Model_App


Файл:- app/code/core/Mage/Core/Model/App.php Строка:-365
/**
 * Initialize PHP environment
 *
 * @return Mage_Core_Model_App
 */
protected function _initEnvironment() {
	$this->setErrorHandler(self::DEFAULT_ERROR_HANDLER);
	date_default_timezone_set(Mage_Core_Model_Locale::DEFAULT_TIMEZONE);
	return $this;
}

В качестве решения - нужно выставить в настройках необходимую вам временную зону и далее использовать следующий код:


$now = Mage::getModel('core/date')->timestamp(time());
echo date('m/d/y h:i:s', $now);

Надеюсь данные совет поможет сократить вам время поиска решения