从时间戳计算

时间:2012-04-04 20:42:09

标签: php mysql datetime time

昨天我问了另一个问题来计算时间。

现在我意识到,为我的项目使用第二个表是没有意义的,因为我的第一个表中已经给出了必要的所有内容。所以,目前我使用两个表来插入两个时间戳:

$time = "INSERT INTO table2 ( a, b, c) VALUES (NOW(),NOW() + INTERVAL 14 DAY,(unix_timestamp(NOW()+ INTERVAL 14 DAY)) - unix_timestamp(NOW()))";

就像我已经说过的那样,它可以更容易,如果没有第二张表,也会达到相同的结果。现在我的问题是,这是我第一次使用php中的时间函数。有很多不同的功能我都不太懂。

我想解决我的问题我可以使用类似的东西:

$row = fetch_assoc()
$old_timestamp = $row->b;

$actual_time = mktime(); //which makes an actual timestamp
$seconds = '1209600'; //which is exactly the timeperiod of 14 days
$added = $old_timestamp + $seconds; //which adds the seconds to the old timestamp and should be the same as NOW() + INTERVAL 14 DAY from the VALUE of the query
$date_to_check = $added - $actual_time;
   if $date_to_check <= 0 { 
     do something }

这可能吗?如果有人可以提供帮助,我将非常感激。非常感谢。

更新

对于每个喜欢了解我的想法的人。以下是实际方法的代码:

$time_check = $db->query("SELECT (B <= NOW()) AS var FROM table2 WHERE x='$x'");         
            while ($row = $time_check->fetch_object()){ 
                if (($row->var != 0) && ($var1 === '0')){
                        $update_status = $db->query("UPDATE table1 SET var1='1' WHERE x='$x'");{
                            $delete_timecount = $db->query("DELETE FROM table2 WHERE x='$x'");
                        }
                }
            }

我想在没有第二张表的情况下完成相同的结果。

1 个答案:

答案 0 :(得分:1)

我无法理解你想要做什么。您似乎正在尝试识别某人注册后14天过去的事情。

if (time() > $old_timestamp + 1209600) {
    // It's been 14 days
    // Do something
}

我使用time,它只返回当前时间。你明白timestamp是什么吗?