2015-04-02 57 views
1

我最近从Magento 1.5升级到1.9,我注意到一些奇怪的行为,日期/时间。我不能说我在升级之前就已经注意到了这一点,所以我会试着回到1.5测试,以确认它没有发生。到目前为止,我已经在我们的现场制作网站,我们的本地网站的开发副本以及完全没有定制的干净的Magento CE 1.9.1.0上进行了测试,并且每次都获得相同的结果。我看到的问题是,在某些情况下,“创建于”时间的客户发生错误,因此月份和日期值会互换。可靠地再现的步骤是:Magento Locale/Timezone Issue

  1. 放在前端的顺序,使用选项来保存您的帐户,供以后使用
  2. 进入到管理和查看客户的账户。记下“创建时间”。今天,例如,它会说2015年4月2日。
  3. 从管理员,为同一个客户创建一个新的订单。
  4. 下订单后,回到客户的账户并查看“创建时间”。请注意,它已更改为“2015年2月4日”。
  5. 重复步骤3-4,并注意它改变了“创建时间”回到“2015年4月2日”

正如我所说的,出现这种情况,我在这两个网站的代码2个不同的服务器和一个干净的1.9.1.0安装,这使我相信它是代码中的错误,而不是配置问题,但我不是100%确定的。时区,地区等可能会有点混乱,所以我可能在安装过​​程中出现问题。如果您有任何想法或可以/不能再现这一点,请分享您的发现/想法。

谢谢!

回答

-1

那么,或许你有以下问题:

Mage_Sales_Model_Order的子类,并提供具体getCreatedAt方法(而不是方法是魔法)存储在created_at列的

你的数据有问题的订单实际上有一个Unix时间戳或一些其他数据?这可能暗示非法模式更改。 要测试模型是否属于子类型,请输出get_class($order) - 如果模型已被重写以诊断,请删除重写。

+0

你完全错过了这一点。我不想在某些自定义代码中使用日期/时间函数,我正在谈论核心功能。您向管理员下订单并且客户的“创建时间”会变得混乱。这是我试图追踪的问题。 – BrianVPS 2015-04-02 18:24:06

+0

我明白了。我的错。好。你是否对这两个网站偶然使用自定义主题?如果在两台服务器上都运行相同的“错误”,那么可能会出现这样的假设:可能是您的主题代码中存在错误。如果是这种情况,我会联系主题开发人员,因为其他人也有机会注意到它,并且可能有适当的解决方案。如果不。好吧,我想我没有得到有益的帮助。 – Dsx 2015-04-02 18:30:56

+0

正如我在我的OP所说,这是发生在股票Magento 1.9.1安装,没有定制。它只有样本数据和麦迪逊岛商店/主题。如果我们的主题中有些内容被打破,那么我会很惊讶。它似乎不是主题相关的,它不是由于任何第三方扩展,并且它发生在两个完全不同的服务器上,其中一个我甚至没有配置,所以我不能两次犯同样的错误。它真的闻起来像一个核心错误。无论如何,你是否真的去尝试我提供的步骤来看看它是否适合你? – BrianVPS 2015-04-02 19:15:43

0

您是否正确设置了区域设置选项?

System > Configuration > GENERAL > General > Locale Options (3rd Option) 
+0

是的,这一切都设置正确 – BrianVPS 2015-04-03 03:11:45

+0

我重新读你的帖子,2015年4月2日,将在美国日期格式写成4/2/2015年...欧洲格式2015年2月4日。所以这是你的出发点! – Hiboomedia 2015-04-03 20:43:41