2011-07-26 25 views
0

如果我有一個名爲Magento中Date類型的myDateAttribute屬性,並希望檢索其值的某種產品,我會簡單地進行下面的調用的值:格式Magento的的屬性類型日期

$date = $product->getMyDateAttribute(); 

現在存儲在$date變量中的日期格式是什麼?是MM/DD/YYYY,還是取決於某些語言環境設置(如果是這樣,我如何獲得這些語言環境設置?)?

無論如何,我想把它作爲DD/MM/YYYY hh:mm:ss到底。有什麼方法來指定格式轉換,或者我應該手動重新格式化嗎?

感謝您對您的情況幫您有任何有益的建議:)

+0

您試過轉儲該變量來檢查格式? –

+0

是的,它的形式是MM/DD/YY。但問題是我正在編寫一個模塊,可能與幾個Magento安裝一起使用。我可以確定這將始終是日期屬性的格式嗎? – Epicurus

+0

生活中沒有什麼是放心:)你可以使用strtotime解析日期,如果它是任何理智的格式,然後把它以任何你想要的格式放回去。那麼你不必擔心它。 –

回答

3

有在Magento日期時間設置。

轉到: -

系統 - >配置 - >目錄 - >目錄 - >日期&時間自定義 選項 - >日期字段順序

您可以設置日期字段順序從那裏。

希望它有幫助。

+0

感謝您的提示。我試着改變這個設置,但是當我回顯出來時存儲在Date屬性中的值仍然是MM/DD/YY形式。在任何Magento安裝中,我能否認爲它會一直如此? – Epicurus

4

你可以改變2012年12月31日和2012年12月31間這樣的:

$date = $product->getMyDateAttribute(); 
$format = 'long'; // short, long, medium, full 
return Mage::helper('core')->formatDate($date, $format, $showTime=false); 

您還可以從管理部分改變(如前面回答):

系統 - >配置 - >目錄 - >目錄 - >日期&時間自定義選項 - >日期字段順序

最後,你可以在一個日期硬編碼這樣的格式:

$date = $product->getMyDateAttribute(); 
$format = 'm/d/Y'; // Or whatever the current format is 
$formatted_date = DateTime::createFromFormat($format, $date) 
    ->format('d-m-Y H:i:s');