4

昨晚我花了很多时间在互联网上搜索,试图找到一种解决方案来查找 MySQL 数据库中最后一小时创建的所有记录。我发现到处张贴的一个答案甚至都不起作用..

这是我根据我在网上找到的并认为可能有效的想法:

$recentUploads = $this->Upload->find('all', array(
            'conditions' => array('Upload.created LIKE' => date('Y-m-d H:i:s', strtotime('-1 hour')))
        ));

但仍然没有运气。有什么想法吗?

4

2 回答 2

7

您需要时间戳大于或等于 1 小时前的时间的记录:

$recentUploads = $this->Upload->find(
  'all',
  array(
    'conditions' => array(
      'Upload.created >=' => date('Y-m-d H:i:s', strtotime('-1 hour'))
    )
  )
);
于 2013-08-25T15:12:36.307 回答
0

您需要在任何时候使用此功能:

function SinceDate($timebyminuites)
{

$to_time = strtotime(date('Y-m-d H:i:s'));
$from_time = $timebyminuites*60;
return date('Y-m-d H:i:s',round(abs($to_time - $from_time),2));
}

当您想从一小时前获取日期时间时,可以使用如下函数:

$onehoursago = SinceDate(60);

查询将是这样的:

select * from Upload where Upload.created >= '$onehoursago'
于 2013-08-25T15:10:54.823 回答