0

我正在处理 Magento 的时间,想看看是否有人遇到过这个问题并可以解释一下。

2012-01-24 06:35:43 是在东部标准时间 2012 年 1 月 24 日凌晨 1:35:43 下的订单的 created_at 戳记。

这是否意味着我的服务器处于 UTC 时间并且我的 Magento 以 UTC 保存所有内容并在显示时转换为东部时间?

如果 Magento 正在转换值(我假设是这种情况),那么处理这个的方法/类/助手是什么?

4

2 回答 2

3

我没有深入研究这个,但据我了解,大多数 Magento 日期/时间的东西都是由Mage_Core_Model_Date班级处理的

app/code/core/Mage/Core/Model/Date.php

如果某些模块具有自己的日期处理功能,我不会感到惊讶。这种事情往往发生在像 Magento 这样模块化的系统中。

于 2012-05-16T15:35:50.137 回答
3

是的。Magento 将其内部时间戳存储为 UTC。通过转到系统 -> 配置 -> 常规 -> 区域设置选项,可以为各个商店配置自己的时区。

您可以通过执行以下操作获取商店的调整时间戳:

$date = Mage::app()->getLocale()->storeDate(<store_id>, <utc_timestamp>);

这将返回一个Zend_Date对象。

您还可以通过执行以下操作获取商店的当前时间戳:

$timestamp = Mage::app()->getLocale()->storeTimeStamp(<store_id>);

这将返回一个整数时间戳。

于 2012-05-16T23:10:11.283 回答