Php 如何比较日期并获取不应为今天日期的最后日期
我有一系列的客户访问信息。。数组正在进行升序访问 订单日期。。我需要得到最后的访问。。但不应该是今天Php 如何比较日期并获取不应为今天日期的最后日期,php,arrays,date,multidimensional-array,Php,Arrays,Date,Multidimensional Array,我有一系列的客户访问信息。。数组正在进行升序访问 订单日期。。我需要得到最后的访问。。但不应该是今天 stdClass Object ( [0] => stdClass Object ( [ID] => 39334 [ClassID] => 3193
stdClass Object
(
[0] => stdClass Object
(
[ID] => 39334
[ClassID] => 3193
[StartDateTime] => 2013-04-29T06:00:00
[LateCancelled] =>
[EndDateTime] => 2013-04-29T06:45:00
)
[1] => stdClass Object
(
[ID] => 39334
[ClassID] => 3193
[StartDateTime] => 2013-04-30T06:00:00
[LateCancelled] =>
[EndDateTime] => 2013-04-30T06:45:00
)
)
在这里我想得到第一个。。。
可以有任意数量的访问。我只展示了两个…您需要编写一个函数或方法来对对象数组进行排序。它必须接收对象数组作为参数,然后,例如,创建另一个对象,并在其中逐个添加对象,首先-最新的,从午夜开始,然后再向后…过滤这些结果的最简单方法是从数据库中获取这些结果的查询。如果您提供该查询,我们可以帮助您调整它,以按照您的意愿对其进行过滤。在查询中添加条件,其中StartDateTimeNo这是一个apiresoponse@Waygood你说得对,添加了一些评论。。。此外,在保存对象之前还需要进行错误中断。也修复了它。@Narek+1获得完整答案。正如robert所说,我们还可以使用mysql查询过滤掉它,比如“where visitdate!”=curdate()'
$whatIneed = false;
foreach($myObj as $obj){
// If this is today object just break, and object from previous loop is what you need
if(date('dmY')==date('dmY',strtotime($obj->StartDateTime))) break;
// saving object in loop into variable
$whatIneed = $obj;
}
print_r($whatIneed);
foreach($obj as $valobj){
// if curentdate is greater than db visit date then insert into array
if(strtotime(date('Y-m-d')) > strtotime(date('Y-m-d',$valobj->StartDateTime))){
$arr[] = $valobj;
}
}
print_r($arr);