问题:如何在Magento中获取系统当前时间?
//This time will not match your server time
$now = time();
echo date('m/d/y h:i:s', time());
如果你试图在Magento里面通过下面的方式来获取系统的当前时间的话,那么你可能会对你得到的结果感到比较迷惑。:-)
为什么获取的当前时间不对呢?
这个时候或许你会想到:可能是php.ini里面的时区设置存在问题。但是当你查看完以后,你会发现其实原因并不在这里。
其实这是因为Magento中的 Mage_Core_Model_App类重置了时区。
File:- /app/code/core/Mage/Core/Model/App.php Line:-255
date_default_timezone_set(Mage_Core_Model_Locale::DEFAULT_TIMEZONE); |
原因找到以后,问题就好办了。 现在我们就可以通过如下方式来获取当前时间:
$now = Mage::getModel( 'core/date' )->timestamp(time()); |
|
|
ok,that's all. :-)
本文解释了在Magento中正确获取系统当前时间的方法。由于Mage_Core_Model_App类会重置时区,直接使用PHP内置的时间函数可能导致错误。文章提供了一个示例代码片段来演示正确的实现方式。

371

被折叠的 条评论
为什么被折叠?



