Php Magento区域设置/时区问题
我最近从Magento 1.5升级到1.9,我注意到一些日期/时间的奇怪行为。我不能说在升级之前我对这一点花了太多的精力,所以我将尝试返回并在1.5上测试它,以确认它没有发生。到目前为止,我已经在我们的现场制作网站、我们网站的本地开发副本和一个完全没有定制的干净的Magento CE 1.9.1.0上测试了这一点,每次我都得到相同的结果。我看到的问题是,在某些情况下,“在”时间创建的客户会被错误处理,从而导致月和日值被交换。可靠复制的步骤包括:Php Magento区域设置/时区问题,php,magento,zend-framework,locale,magento-1.9.1,Php,Magento,Zend Framework,Locale,Magento 1.9.1,我最近从Magento 1.5升级到1.9,我注意到一些日期/时间的奇怪行为。我不能说在升级之前我对这一点花了太多的精力,所以我将尝试返回并在1.5上测试它,以确认它没有发生。到目前为止,我已经在我们的现场制作网站、我们网站的本地开发副本和一个完全没有定制的干净的Magento CE 1.9.1.0上测试了这一点,每次我都得到相同的结果。我看到的问题是,在某些情况下,“在”时间创建的客户会被错误处理,从而导致月和日值被交换。可靠复制的步骤包括: 在前端下订单,使用选项保存您的帐户以供以后使用 进
谢谢 那么,您可能有以下问题:
Mage\u Sales\u Model\u Order
是子类化的,它提供了一个具体的getCreatedAt
方法(与magic方法相反)
存储在所讨论订单的created_at
列中的数据实际上具有Unix时间戳或其他一些数据?这可能暗示存在非法的架构更改。
要测试模型是否为子类,请回显
get\u class($order)
-如果模型已被重写以进行诊断,请删除重写。是否正确设置了区域设置选项
System > Configuration > GENERAL > General > Locale Options (3rd Option)
我也遇到了同样的问题。这个问题的答案如下: 如果文件中没有$this->\u getFormat()函数。请看这里:
记得刷新缓存。你完全没有抓住要点。我不是试图在一些自定义代码中使用日期/时间函数,而是在讨论核心功能。你在管理员中下了一个订单,客户的“创建时间”就被搞乱了。这就是我要追查的问题,我明白了。我的错。好啊您是否为这两个站点偶然使用了自定义主题?如果您在两台服务器上都运行相同的“错误”,那么可以假设是的,您的主题代码中可能存在错误。如果是这种情况,我会联系主题开发者,因为其他人可能也注意到了这一点,并且可能有一个合适的解决方案。如果没有。嗯,我想我没有帮上什么忙。正如我在我的专栏文章中所说,这是在一个库存Magento 1.9.1安装上发生的,没有定制。它只有样本数据和麦迪逊岛商店/主题。如果在我们的主题中有什么东西被破坏了,而在示例中也被破坏了,我会感到惊讶。这似乎与主题无关,不是因为任何第三方扩展,而是发生在两台完全不同的服务器上,其中一台我甚至没有配置,所以我不可能两次犯同样的错误。它闻起来真像个核心臭虫。有没有可能,你真的去尝试我提供的步骤,看看它是否发生在你身上?我会仔细检查,但我很确定我已经检查过了,没有任何东西覆盖getCreatedAt方法。因为它是在一个干净的安装上发生的,无论如何也不太可能是这样。我确实尝试过,但无法复制,我将再看一看它。我重新阅读你的帖子,2015年4月2日将以美国日期格式写成2015年4月2日。。。2015年2月4日,欧洲版。这就是你的出发点!