如何以编程方式在magento中的订单历史注释中添加自定义日期?

如何以编程方式在magento中的订单历史注释中添加自定义日期?,magento,magento-1.8,Magento,Magento 1.8,我正在更新/插入带有自定义日期的新注释,但注释是使用当前日期和时间而不是自定义日期添加的, 使用此代码 $new_date='2010-01-01'; $order->setData('created_at',$new_date); $order->addStatusToHistory($order->getStatus(), 'This comment is programatically added', false); $order->save(); 如何添加此自定

我正在更新/插入带有自定义日期的新注释,但注释是使用当前日期和时间而不是自定义日期添加的, 使用此代码

$new_date='2010-01-01';
$order->setData('created_at',$new_date);
$order->addStatusToHistory($order->getStatus(), 'This comment is programatically added', false);
$order->save();

如何添加此自定义日期?有什么方法可以实现此目的。

您可以这样做:

$history = Mage::getModel('sales/order_status_history')
    ->setStatus($order->getStatus())
    ->setComment('My Comment!')
    ->setEntityName(Mage_Sales_Model_Order::HISTORY_ENTITY_NAME)
    ->setIsCustomerNotified(false)
    ->setCreatedAt(date('Y-m-d H:i:s', time() - 60*60*24));

$order->addStatusHistory($history);
$order->save();

请注意,在数据库中保存时间时,不需要计算时区偏移。Magento预计时间为UTC,并已使用
date\u default\u timezone\u set(“UTC”)设置默认时区
,因此我们可以使用
time()
函数。Magento将根据
System>configuration>General>Locale Options

中的配置动态计算时间偏移量,然后在前端/admin上显示值。您可以这样做:

$history = Mage::getModel('sales/order_status_history')
    ->setStatus($order->getStatus())
    ->setComment('My Comment!')
    ->setEntityName(Mage_Sales_Model_Order::HISTORY_ENTITY_NAME)
    ->setIsCustomerNotified(false)
    ->setCreatedAt(date('Y-m-d H:i:s', time() - 60*60*24));

$order->addStatusHistory($history);
$order->save();

请注意,在数据库中保存时间时,不需要计算时区偏移。Magento预计时间为UTC,并已使用
date\u default\u timezone\u set(“UTC”)设置默认时区
,因此我们可以使用
time()
函数。Magento将根据
System>configuration>General>Locale Options

@Skeletor中找到的配置,在前端/admin上显示值之前,动态计算时间偏移量。当我尝试将此代码作为“Error Message:SQLSTATE[23000]时,Skeletor出错:完整性约束冲突:1452无法添加或更新子行:外键约束失败(
db name
sales\u flat\u order\u status\u history
,约束
FK\u CE7C71E74CB74DDACED337CEE6753D5E
外键(
parent\u id
)引用
sales\u flat\u order
entity\u id
)在U上的DELETE CASCADE上),查询是:插入
销售单位订单状态历史记录(
注释
状态
处创建,
实体名称
)值(?,'2017-08-30 11:44:16',?)“@Skeletor在尝试将此代码作为“错误消息:SQLSTATE[23000]时出错:完整性约束冲突:1452无法添加或更新子行:外键约束失败(
db name
sales\u flat\u order\u status\u history
,约束
FK\u CE7C71E74CB74DDACED337CEE6753D5E
外键(
parent\u id
)引用
sales\u flat\u order
entity\u id
)在U)上的删除级联中,查询是:插入到
销售单位订单状态历史记录中(
注释
状态
处创建,
实体名称
)值(?,'2017-08-30 11:44:16',”