我使用以下代码来获取当天的销售数据,我应该在to和from变量中传递什么?使用的日期格式为 11/15/14 (毫米/日/年)
我正在通过 00:00:00,但这是午夜。
$to_date = date('Y-m-d' . ' 00:00:00', strtotime($to));
$from_date = date('Y-m-d' . ' 00:00:00', strtotime($from));
$orders = Mage::getModel("sales/order")->getCollection()
->addFieldToFilter('created_at', array('from'=>$from_date, 'to'=>$to_date));
我已经在我的本地主机中尝试过这个并且它工作正常,您可以根据需要调整过滤器。
require_once('app/Mage.php'); //Path to Magento
umask(0);
Mage::app();
$time = time();
$to = date('Y-m-d H:i:s', $time); echo '<br>';
$lastTime = $time - 86400; // 60*60*24
$from = date('Y-m-d H:i:s', $lastTime);
$orders = Mage::getModel('sales/order')->getCollection()
->addFieldToFilter('created_at', array('from' => $from, 'to' => $to))
->addAttributeToFilter('status', 'complete');
//echo $orders->getSelect();
echo '<pre>';
$_totalData = $orders->getData();
//echo $_grand = $_totalData['0']['grand_total'];
//print_r($_totalData);
foreach ($_totalData as $data) {
$total_sale[] = $data['grand_total'];
}
print_r($total_sale);
如果您有任何疑问,请在此处发表评论。
为什么不使用具有 24 小时时间跨度格式的当前日期,并为该日期使用 0 到 24 小时之间的限制
我想你想获得一天的记录,所以只需要一天作为输入。请参阅下面的代码:
$inputDay = "17-11-2014";
$from_date = date('Y-m-d H:i:s', strtotime("$inputDay 00:00:00"));
$to_date = date('Y-m-d H:i:s', strtotime("$inputDay 23:59:59"));
$orders = Mage::getModel("sales/order")->getCollection()
->addFieldToFilter('created_at', array('gteq' => $from_date))
->addFieldToFilter('created_at', array('lteq' => $to_date));
我正在通过一天,计算开始时间和结束时间很简单!
您必须更改数据格式才能使其持续 24 小时
$inputDay = "11/13/14"; // your current format for data is mm/dd/yy
$inputDay = date("Y-m-d", strtotime($inputDay));
$to_date = date('Y-m-d', strtotime($inputDay)).' 23:59:59';
$from_date = date('Y-m-d', strtotime($inputDay)).' 00:00:00';
// Now data is become Y-m-d h:i:s
$orders = Mage::getModel("sales/order")->getCollection()
->addFieldToFilter('created_at', array('from'=>$from_date, 'to'=>$to_date));
echo $orders->getSize();
exit;
希望这肯定会对你有用。
我使用了以下代码
$to_date = date('Y-m-d' . ' 23:59:00', strtotime($to));
$from_date = date('Y-m-d' . ' 00:00:00', strtotime($from));
$orders = Mage::getModel("sales/order")->getCollection()
->addFieldToFilter('created_at', array('from'=>$from_date, 'to'=>$to_date));