Date new stock displayed wrong
-
30-09-2020 - |
题
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>