gpt4 book ai didi

php - 使用 PHP 将当前时间与 Mysql 数据库中的时间戳进行比较

转载 作者:行者123 更新时间:2023-11-29 05:22:17 25 4
gpt4 key购买 nike

我正在将来自 FB API 的值插入到我的数据库中。其中一个值是每个事件创建时间的 timestamp

它现在的设置方式是捕获所有用户 tagged_places。我正在尝试将 tagged_place 的创建时间与当前时间进行比较,如果它不在过去 24 小时内,我希望它被忽略。

我知道我需要转换数据库中的时间戳以便 php 读取它。我找到了这个

Click Here

但我不明白如何实现它。

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

$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_time 是一个 datetime 或类似的格式:

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
));
}
}

如果$data->created_time已经是一个时间戳,那么strtotime()就没有必要了:

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

一些解释:

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

  • time()返回当前的 unix 时间戳。

  • strtotime()将字符串转换为 unix 时间戳。

  • time() - strtotime($data->created_time) 是两者之间的秒差当前时间和存储的时间。

  • 86400 是 24 小时中的秒数。

所以声明

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

说:

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

关于php - 使用 PHP 将当前时间与 Mysql 数据库中的时间戳进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24251662/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com