昨天我又问了一个问题来计算时间。
现在我意识到,在我的项目中使用第二个表是没有意义的,因为所有必需的东西都已经在第一个表中给出了。因此,目前我使用两个表,在其中插入两个时间戳:
$time = "INSERT INTO table2 ( a, b, c) VALUES (NOW(),NOW() + INTERVAL 14 DAY,(unix_timestamp(NOW()+ INTERVAL 14 DAY)) - unix_timestamp(NOW()))";
就像我已经说过的,这可能会容易得多,同样的结果也会在没有第二张桌子的情况下达成。现在我的问题是,这是我第一次在php中使用timefunctions。有很多不同的功能我并不真正理解。
我想要解决我的问题,我可以用这样的方法:
$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'");
}
}
}
我想在没有第二张桌子的情况下完成同样的结果。
最佳答案
我真的不明白你想干什么。看来你是在试图识别某人注册后14天的时间,以便做些什么。
if (time() > $old_timestamp + 1209600) {
// It's been 14 days
// Do something
}
我使用了
time
,它只返回当前时间。你明白什么是atimestamp吗?