質問

We load data from our supplier about the date when new stock will arrive. The date is loaded like: 07-12-2016, which is 12 July 2016 and not 7 December 2016.

I use following code to load the date:

CODE:

<p class="availability out-of-stock"><?php $today = Mage::helper('core')->htmlEscape($_product->getData('delivery_eta')); $date = Mage::helper('core')->formatDate($today, Mage_Core_Model_Locale::FORMAT_TYPE_FULL, false); echo $date;?></p>

But this is displayed as 7 December 2016. How can I change this, so that the date is loaded correctly like 12 July 2016?

役に立ちましたか?

解決

Here is new code.

$date = new Zend_Date($_product->getData('delivery_eta'), 'MM-dd-yyyy');
$date = Mage::helper('core')->formatDate(
    $date, Mage_Core_Model_Locale::FORMAT_TYPE_FULL, false
);
echo $date;

他のヒント

You can just convert your data on the fly, like this

$dateString = $_product->getData('delivery_eta');
$myDateTime = DateTime::createFromFormat('m-d-Y', $dateString);
$newDateString = $myDateTime->format('d-m-Y');
$today = Mage::helper('core')->htmlEscape(newDateString);
$date = Mage::helper('core')->formatDate($today, Mage_Core_Model_Locale::FORMAT_TYPE_FULL, false); 

or, equivalently:

$dateString = $_product->getData('delivery_eta');
$newDateString = date_format(date_create_from_format('m-d-Y', $dateString), 'd-m-Y');
$today = Mage::helper('core')->htmlEscape(newDateString);
$date = Mage::helper('core')->formatDate($today, Mage_Core_Model_Locale::FORMAT_TYPE_FULL, false); 

Try this

<p class="availability out-of-stock">
<?php 
    $deliveryDate = $_product->getData('delivery_eta'); 
    $today = date('m-d-Y', strtotime($deliveryDate)); 
    $date = Mage::helper('core')->formatDate($today, Mage_Core_Model_Locale::FORMAT_TYPE_FULL, false);
?>
<?php echo $date;?>
</p>
ライセンス: CC-BY-SA帰属
所属していません magento.stackexchange
scroll top