Magento ouputting incorrecte de la date et de l'heure
Si je sortie de la date/de l'heure dans index.php echo date('m/d/Y h:i:s a', time());
. Elle est correcte. Si j'ai sortie la date/heure n'importe où après que, dans une extension par exemple, il est 4 heures exactement. J'ai réglé le fuseau horaire correctement en php.ini et dans Magento lui-même, donc pas sûr de ce qui est à l'origine de l'arrêt. Je suis en version 1.7.0.2.
MODIFIER
Ok, donc j'ai appris quelques choses.
Magento toujours définit le fuseau horaire UTC en
app/mage.php
line 767: date_default_timezone_set('UTC')
Donc, fondamentalement, vous ne pouvez pas utiliser date(),time (), etc. Vous devez définir vos cibler fuseau horaire dans Admin->Système->Configuration /Générale->paramètres Régionaux options et d'utiliser quelque chose comme:
$now = Mage::getModel('core/date')->timestamp(time());
echo date('m/d/y h:i:s', $now);
Je pourrais toujours remplacer la ligne 767 avec mon fuseau horaire, mais je n'aime pas modifier le code de base. Existe-il d'autres options là-bas ???
Vous devez vous connecter pour publier un commentaire.
La méthode préférée dans Magento semble utiliser Zend ou Varien date-heure d'objets au lieu de valeurs scalaires comme dans cet exemple. Une fois que vous avez votre objet, vous pouvez facilement convertir les autres, non-serveur de fuseaux horaires avec un
setTimezone
appel.Si vous êtes économiser de dates dans Magento base de données assurez-vous qu'ils sont en UTC. Par défaut de Magento enregistre toutes les dates que l'UTC, mais il est censé afficher dans le fuseau horaire local.
Dans mon cas, le temps varie, par exemple, du système.journal, mais aussi dans le Planificateur (cronjobs).
Donc, disons que c'est maintenant 01.15 temps réel, la date de création dans le Planificateur est toujours correct, donc 01.15 dans ce cas. Que la temps est parfois 01.16 mais souvent 02.16, si vous voyez un mélange de 01.16 et 02.16, de sorte que le temps varie en continu.
Lorsque je vérifie le système de log, je vois la même chose, la première fois que vous voyez l'incrémentation pour les messages comme 01.50, 02.45, 03.50 et tout à coup 02.55 de nouveau.
Si il ya quelque chose dans le système de laissez varie cette fois, mais où, peut-être mon fournisseur de trouver quelque chose ... mais ce n'est pas l'heure du système, il a à voir avec Magento Magento .. écrit pour le journal ..
EDIT:
Pourquoi ce problème est-il je ne sais pas, mais j'ai changé l'heure UTC en Mage.php dans ma zone Europe/Amsterdam. Maintenant, tous les temps sont corrects, également dans les journaux.
Mais un problème encore, quand j'ai programmer une tâche cron immédiatement dans le Planificateur (extension) ce travail est prévu 1 heure plus tard (d'autres fois dans le Planificateur sont corrects). Une extension Copernica tourne à par exemple à 18h00 (pas via le Planificateur et l'écrit est exécuté la dernière fois à 17h00 ... pas d'autres non Magento boutiques en ligne ont ce genre de problèmes .. la base de données est également à l'aide de l'Europe/Amsterdam en php.ini ..