如何加载一天(24 小时)的销售收款


How to load sales collection for one day (24 hours)?

我使用以下代码来获取当天的销售数据,我应该在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));