与PHP和Mysql的日期比较

时间:2011-11-15 18:54:45

标签: php mysql date

我有一个日期字段类型为date的表。

我想要做的是对表格内的日期和今天的日期进行比较。如果表中的日期是昨天,则插入今天的日期。

我不确定的是如何在数据库中插入数据,以便我可以进行比较。这就是我想做的事情“

$d = time();
$x = mysql_querry("SELECT date FROM table where id = $id", $con);
while($y = myqsl_fetch_array($x)){
    $oldTime = $y['date']; 
}

if ($oldTime < $d){
$i = mysql_querry("INSERT INTO table (date) VALUES (CURDATE()) ", $con);
}

所以,我不确定$oldTime and $d是否可以这样比较,但我希望你们能明白我的观点。

有什么想法吗?

由于

2 个答案:

答案 0 :(得分:0)

你不能这样做,因为CURDATE()函数以2011-11-11的格式返回日期,而time()返回自1970年1月1日00:00以来的秒数:00 GMT。

无论如何,您可以使用date()函数以这种方式将time()的格式更改为CURDATE():

date('Y-m-d', time())

甚至更好,要获得当前日期,您只需使用以下行:

date('Y-m-d')

总而言之,你可以这样做:

if( strtotime($oldTime) < strtotime(date('Y-m-d')) )

甚至更好:

if( strtotime($oldTime) < strtotime('now') )

答案 1 :(得分:0)

要比较您可以使用的日期strtotime($date);其中日期可以是时间(),mysql日期或日期('Y-m-d');串