Я маю справу з часом у Magento і хотів побачити, чи хтось це зустрінеться, і зможе пояснити це.
2012-01-24 06:35:43 це марка created_at для замовлення, внесеного 24 січня 2012 р. 1:35:43 Східний стандартний час.
Чи означає це, що моєму серверу є час UTC, і що мій Magento зберігає все в UTC і перетворює його на схід при відтворенні?
Якщо Magento перетворює значення (яке я вважаю таким, що є), який метод / клас / помічник, який обробляє це?
Відповіді:
3 для відповіді № 1Я не надто глибоко розкопався на цьому, але це моє розуміння, найчастіше матеріали Magento дати / часу обробляються Mage_Core_Model_Date
клас
app/code/core/Mage/Core/Model/Date.php
Я не здивуся, якщо деякі модулі мають свої власні функції обробки дат через. Такі речі, як правило, відбуваються в системах як модульні як Magento.
3 для відповіді № 2
Так. Magento зберігає свої внутрішні мітки як UTC. Індивідуальні магазини можна налаштувати за допомогою власних часових поясів, перейшовши до системи -> конфігурація -> загальні -> параметри локалі.
Ви можете отримати скоригований часовий покажчик для магазину, виконавши таке:
$date = Mage::app()->getLocale()->storeDate(<store_id>, <utc_timestamp>);
Це поверне а Zend_Date
об'єкт
Ви також можете отримати поточну мітку для магазину, виконавши це:
$timestamp = Mage::app()->getLocale()->storeTimeStamp(<store_id>);
Це поверне цільове значення часу.