使用php过滤带日期范围的结果

时间:2017-07-15 22:15:24

标签: php

我从网络API获取数据然后返回数据。根据收到的数据,我试图应用在日期和显示结果之间进行搜索的过滤器,但我发现很难做到。

从api收到的数据中,当您指定start_date变量(如此'2017-02-28T00:00:00Z';)和end_date变量(如$ edate =' 2017-)时,它包含日期$sdate='2017-01-28T00:00:00Z';的数据02-28T00:00:00Z&#39 ;;你得到了返回的数据。

当您将此$sdate='2017-01-28T00:00:00Z';指定为此结束日期并将结束日期指定为此$edate='2017-03-28T00:00:00Z';时,它不会显示任何数据。

$baseURL = 'https://myip/DynamicsNAV90/WS/';
$pageURL = $baseURL.rawurlencode($cur).'/Page/info';

$id='0101001';
$sdate='2017-01-28T00:00:00Z';
$edate='2017-03-28T00:00:00Z';
$error_msg=array("message"=>("Bill not found"));
//echo $sdate;
$params = array('filter' => array(
                                array('Field' => 'ID', 'Criteria' => $id),
                                array('Field' => 'Date', 'Criteria' => $sdate),
                                array('Field' => 'Date', 'Criteria' => $edate)
                                ),
                    'setSize' => 0);
$result = $page->ReadMultiple($params);
$customers = $result->ReadMultiple_Result->BillingInfo;

if ( $customers->Date >= $sdate && $customers->Date <=$edate)
{
    echo json_encode(array($customers));
}else{
    echo json_encode($error_msg);
}

我想要做的是在两者之间进行搜索,我可以通过在数据库上编写一个select语句并指定日期范围来完成此操作,但因为我只是从web api中提取它真的很难

0 个答案:

没有答案