getCreatedAt() не изменяет формат даты и времени
Мне нужен формат даты и времени, как этот
$aWebOrder->OrderCreationDate = '2012-11-08 12:00:00';
Вот что я делаю:
$aWebOrder->OrderCreationDate = $order->getCreatedAt();
Я пытался исправить это, но безуспешно, я просто получаю странное значение, которое выглядит так, будто штампует только секунды. Кто-нибудь сталкивался с такой же проблемой? Спасибо
4
Author: DanielDake, 2013-10-21
2 answers
На самом деле типом столбца created_at
таблицы sales_flat_order
является datetime, и $order->getcreatedat() должен возвращать форматированное datetime.
Вы также можете попробовать это:
$order->getCreatedAtStoreDate()->toString(Varien_Date::DATETIME_INTERNAL_FORMAT);
8
Author: mageUz, 2013-10-21 16:51:10
Когда я делаю следующее:
$order = Mage::getModel('sales/order')->getCollection()->getFirstItem();
var_dump($order->getCreatedAt());
Он возвращает:
string(19) "2013-03-28 12:31:17"
Возможно, тогда у вас возникнут следующие проблемы:
-
Mage_Sales_Model_Order
является подклассом и предоставляет конкретный методgetCreatedAt
(в отличие от метода, являющегося волшебным) - Ваши данные, хранящиеся в столбце
created_at
для рассматриваемого заказа, на самом деле имеют временную метку Unix или какие-либо другие данные? Это может указывать на незаконное изменение схемы.
Чтобы проверить, является ли модель подклассом, повторите get_class($order)
- удалить перезапись, если модель была переписана для диагностики.
6
Author: philwinkle, 2013-10-21 16:41:04