Mám na mysli čas v Magento a chcel som vidieť, či to niekto narazil a mohol to vysvetliť.
2012-01-24 06:35:43 je vytvorená pečiatka pre objednávku umiestnenú na 24. januára 2012 1:35:43 Východný štandardný čas.
Znamená to, že môj server je v UTC čase a že môj Magento ukladá všetko v UTC a konvertuje na Východné pri zobrazovaní?
Ak Magento konvertuje hodnotu (čo predpokladám, že je to prípad), aký je spôsob / triedu / pomocník, ktorý to zvládne?
odpovede:
3 pre odpoveď č. 1Nebol som vykopaný príliš hlboko na túto, ale je to moje pochopenie väčšina Magento dátum / čas veci sa zaoberá Mage_Core_Model_Date
trieda
app/code/core/Mage/Core/Model/Date.php
Neprekvapilo by ma, či niektoré moduly majú vlastné funkcie na spracovanie dátumov. Takéto veci sa stávajú v systémoch tak modulárnych ako Magento.
3 pre odpoveď č. 2
Áno. Magento ukladá svoje interné časové značky ako UTC. Jednotlivé obchody môžu byť nakonfigurované pomocou vlastných časových pásiem tým, že prejdite na položku Systém -> Konfigurácia -> Všeobecné -> Možnosti lokality.
Aktualizovanú časovú pečiatku pre obchod môžete získať takto:
$date = Mage::app()->getLocale()->storeDate(<store_id>, <utc_timestamp>);
Tým sa vráti a Zend_Date
objekt.
Môžete tiež získať aktuálnu časovú pečiatku pre obchod takto:
$timestamp = Mage::app()->getLocale()->storeTimeStamp(<store_id>);
Tým sa vráti celočíselná časová pečiatka.