php - 时间戳查询不起作用

标签 php mysql datetime variables date

我有时间戳问题。我想检查时间戳是过去还是将来。如果是过去的时间,则应该进行查询。

到目前为止,我得到了一个将由

获取的 mysql-timestamp
$row = $query->fetch_object();
$timestamp = $row->time

其中包含:

2012-04-04 12:06:38

对于进一步的设置,我使用另外两个变量:

$added = $timestamp + 1209600;  //what adds 14days (1209600 seconds) to my db-timestamp
$check = $added < time();  //what checks if the 14days have passed or not

现在,如果我用 var_dump 测试所有这些,它将返回每个:

string(19) "2012-04-04 12:06:38" at var_dump($timestamp)
int(1211612) at var_dump($added)
bool(true) at var_dump($check)

所以我的问题是,即使 14 天应该已经过去,以下查询也会一直执行。我知道这一点,因为我将时间戳更改为一月份的较早日期。这是我的查询:

if ($check === true){
    $update = $db->query("UPDATE table SET xy='1' WHERE x='$x'");
    }

似乎有什么不对劲,我不知道那可能是什么。

最佳答案

我同意barsju的观点。 MySQL 的结果是 DateTime 条目的字符串,而不是实际的时间戳。将其保留在 PHP 中的另一个选项是 strtotime($string); 它将把字符串转换为其时间戳。重要的是您在检查之前会得到一个时间戳。

我会在你的示例的这一行上执行此操作:

$timestamp = strtotime($row->time);

我相信还有其他几种方法可以让 MySQL 返回时间戳。

关于php - 时间戳查询不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10020738/

相关文章:

mysql - Crystal 报告: how to use sum(column) as column as in mysql query

python - 列出时间格式的元素并计算与今天的时间差异

php - 在 Woocommerce 中的简短描述后移动产品描述

php - 从查询中检索特定键值并在查询中获取它们对的计数

php - Silverstripe 3.1.2 正在修改 anchor 链接

php - 如何在 Symfony2 中创建一个实体的多行表单

php - 无法添加或更新子行: a foreign key constraint fails

php - 具有多个属性的产品库存

c++ - C++ 中的日期/时间解析

java - 将Json日期转换为java日历