使用PHP比较Mysql数据库中的当前时间与时间戳

使用PHP比较Mysql数据库中的当前时间与时间戳,php,mysql,Php,Mysql,我正在将FBAPI中的值插入数据库。其中一个值是每个事件创建时间的时间戳 它现在的设置方式是抓取所有用户标记的位置。我试图将创建标记位置的时间与当前时间进行比较,如果不是在过去24小时内,我希望忽略它 我知道我需要在DB中转换时间戳,以便php读取它。我发现这个 但我不明白如何实施它 这是我对数据库的插入查询 $stmt = $con->prepare(' INSERT INTO taggedPlaces (id, created_time, place_id, lati

我正在将FBAPI中的值插入数据库。其中一个值是每个事件创建时间的
时间戳

它现在的设置方式是抓取所有用户
标记的位置
。我试图将创建标记位置的时间与当前时间进行比较,如果不是在过去24小时内,我希望忽略它

我知道我需要在DB中转换时间戳,以便php读取它。我发现这个

但我不明白如何实施它

这是我对数据库的插入查询

$stmt = $con->prepare('
    INSERT INTO taggedPlaces
    (id, created_time, place_id, latitude, longitude, name)
    VALUES
    (?, ?, ?, ?, ?, ?)
');

foreach($graphObject['tagged_places']->data as $data) {
   $stmt->execute(array(
       $data->id,
       $data->created_time,
       $data->place->id,
       $data->place->location->latitude,
       $data->place->location->longitude,
       $data->place->name
   ));
}

如何将其更改为仅在过去24小时内创建的数据中插入值?

假设
$data->created\u time
日期时间
或类似格式:

foreach($graphObject['tagged_places']->data as $data) {

   if (time() - strtotime($data->create_time) < 86400) { ...

       $stmt->execute(array(
           $data->id,
           $data->created_time,
           $data->place->id,
           $data->place->location->latitude,
           $data->place->location->longitude,
           $data->place->name
       ));
   }
}

一些解释:

  • A是自1970年1月1日以来的秒数

  • 返回当前unix时间戳

  • 将字符串转换为unix时间戳

  • time()
    当前时间和存储的时间

  • 86400
    是24小时内的秒数

所以声明

if (time() - strtotime($data->created_time) < 86400) { ...
if(time()-strotime($data->created_time)<86400){。。。
说:


如果当前日期/时间与标记地点的日期/时间之间的差异(以秒为单位)小于24小时(86400秒),继续插入。

$data->created\U time
是时间戳还是datetime?您的模式是什么?至少提供一个
created\U time
的代表性示例?将两个时间值转换为Unix时间戳,然后进行比较?如果我不清楚,我很抱歉。您以前从未处理过这个问题。我在问题wha stamp中提到了时间戳你还需要知道吗?谢谢你的帮助。嘿,谢谢你的帮助,你介意解释一下如果(time()-$data->created_time<86400)发生了什么吗{
确实是吗?非常感谢,效果非常好。只是为了其他人,我不得不将其转换。感谢您在回答中添加这一点。如果您不介意,我将感谢您解释86400,但再次感谢。
if (time() - strtotime($data->created_time) < 86400) { ...