私はMagentoの時間を扱っており、誰かがこれを見てそれを説明できるかどうかを見たいと思っていました。
2012-01-24 06:35:43 2012年1月24日1:35:43 AM東部標準時間に置かれた注文のcreated_atスタンプです。
これは、私のサーバーがUTC時間であり、MagentoがすべてをUTCで保存し、表示するときにEasternに変換することを意味しますか?
Magentoが値を変換している場合(これは私が想定している)、これを処理するメソッド/クラス/ヘルパーは何ですか?
回答:
回答№1の場合は3私はこれで深く掘り下げられませんでしたが、Magentoのほとんどの日付/時間のものは、 Mage_Core_Model_Date
クラス
app/code/core/Mage/Core/Model/Date.php
いくつかのモジュールが独自の日付処理関数を持っているのであれば、私を驚かせることはありません。そのようなことは、Magentoのようなモジュール式のシステムで起こる傾向があります。
回答№2の場合は3
はい。 Magentoは内部タイムスタンプをUTCとして保存します。個々の店舗は、システム - >設定 - >一般 - >ロケールオプションに行くことで、独自のタイムゾーンで設定することができます。
次のようにして、ストアの調整済みタイムスタンプを取得できます。
$date = Mage::app()->getLocale()->storeDate(<store_id>, <utc_timestamp>);
これにより、 Zend_Date
オブジェクト。
次のようにして、ストアの現在のタイムスタンプを取得することもできます。
$timestamp = Mage::app()->getLocale()->storeTimeStamp(<store_id>);
整数のタイムスタンプが返されます。