Magento 如何在两个日期之间获得所有产品?

Magento 如何在两个日期之间获得所有产品?,magento,magento-1.4,Magento,Magento 1.4,如何获得两个日期之间的所有产品,如上月产品、本月产品、上周产品和本周产品等 我试过这个: // current day to start with $start = mktime(0,0,0,date('m'), date('d'), date('Y'));; // calculate the first day of last month $first = date('YYYY-MM-DD',mktime(0,0,0,date('m',$start) - 1,1,date('Y',$star

如何获得两个日期之间的所有产品,如上月产品、本月产品、上周产品和本周产品等

我试过这个:

// current day to start with
$start = mktime(0,0,0,date('m'), date('d'), date('Y'));;

// calculate the first day of last month
$first = date('YYYY-MM-DD',mktime(0,0,0,date('m',$start) - 1,1,date('Y',$start)));

// calculate the last day of last month
$last = date('YYYY-MM-DD',mktime(0, 0, 0, date('m') -1 + 1, 0, date('Y',$start)));



   if($filter == "lastmonth"){

    $collection = Mage::getModel('catalog/product')->getCollection();
    $collection->addAttributeToFilter('updated_at', array('gteq' =>$first));
    $collection->addAttributeToFilter('updated_at', array('lteq' => $last));


}
但我无法得到结果:(有什么帮助吗


在Daniel响应后修改!

您的代码有一个问题:

$collection->addFieldToFilter()
应该是:

$collection->addAttributeToFilter()

我尝试了你的代码,必须交换
'lteq'
'gteq'
以使其工作。
$fromdate
是较低的数字,因此你正在搜索大于该数字的日期

另外,您必须记住按照MySQL喜欢的格式设置日期;
date('Y-m-d')

注:有关完整列表,请参见。首先,您需要将日期格式从“YYYY-MM-DD”更改为“Y-m-d”。这将返回magento记录具有的日期格式

2) 对于日期,有一个特殊的条件,如下面的例子所述

$collection = Mage::getModel('catalog/product')->getCollection();
$collection->addAttributeToFilter('updated_at', array('gteq' =>$first));
$collection->addAttributeToFilter('updated_at', array('lteq' => $last));


我知道这个问题有点老了,但由于它在搜索引擎结果中的排名很好,我将更正date()函数,该函数最好采用如下参数:Y-m-d H:I:s。 我希望这会有帮助

$collection = Mage::getModel('catalog/product')->getCollection();
$collection->addAttributeToFilter('updated_at', array(
        'from' => $first,
        'to' => $last,
        'date' => true,
        ));