簡體   English   中英

Magento語言環境/時區問題

[英]Magento Locale/Timezone Issue

我最近從Magento 1.5升級到1.9,並且注意到日期/時間有些奇怪的行為。 我不能說我在升級之前對此非常關注,所以我將嘗試回過頭來在1.5上進行測試以確認它沒有發生。 到目前為止,我已經在我們的現場制作網站,我的網站的本地開發版本以及一個完全沒有自定義的干凈的Magento CE 1.9.1.0中進行了測試,並且每次都得到相同的結果。 我看到的問題是,在某些情況下,“創建於”時間的客戶會受到困擾,從而使“月”和“日”值被交換。 可靠復制的步驟是:

  1. 使用該選項保存您的帳戶以供以后使用,在前端下訂單
  2. 進入管理員並查看客戶的帳戶。 記下“創建時間”。 例如,今天是2015年4月2日。
  3. 從管理員為同一客戶創建新訂單。
  4. 下訂單后,返回客戶帳戶並查看“創建時間”。 請注意,它已更改為“ 2015年2月4日”。
  5. 重復步驟3-4,注意它已將“創建時間”改回“ 2015年4月2日”

就像我說的,這在我的網站代碼和全新的1.9.1.0安裝中的兩台不同服務器上都會發生,這使我相信這是代碼中的錯誤而不是配置問題,但我不是100%當然。 時區,語言環境等可能會造成一些混亂,因此我在設置中可能出現了問題。 如果您有任何想法或無法/無法重現,請分享您的發現/想法。

謝謝!!

您是否正確設置了區域設置選項?

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

我也遇到了同樣的問題。 這個問題的答案在這里: https : //magento.stackexchange.com/questions/18062/customer-created-at-date-off-by-months?lq=1

如果您的文件中沒有$ this-> _ getFormat()函數。 看到這里: https : //gist.github.com/ihor-sviziev/e96064240d167457709e

記住要刷新緩存。

那么,也許您有以下問題:

Mage_Sales_Model_Order是子類,並提供了一個具體的getCreatedAt方法(與魔術方法相反)

您存儲在有關問題訂單的created_at列中的數據實際上具有Unix時間戳還是其他數據? 這可能暗示了非法的架構更改。 要測試模型是否屬於子類,請回顯get_class($order) -如果已重寫模型以進行診斷,請刪除重寫。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM