sql错误地比较日期

时间:2017-02-06 06:12:47

标签: php date sql-view

<?php         
     date_default_timezone_set('Asia/Kolkata');
     $currentDate =  date("d M Y h:i:s a");
     $sql=mysql_query("update products set past=0 where valid_date>'".$currentDate."'");
     $sql1=mysql_query("update products set past=1 where valid_date<'".$currentDate."'");
?>

以上是我的代码。如果valid_date是2017年1月31日下午12:25:07,则SQL查询仍将此作为未来日期(即大于今天的日期),但需要时间为2017年2月5日12:25:07 。准确地说,该查询正确地比较了2月日期和错误地比较了1月日期。

我的代码有什么问题?

1 个答案:

答案 0 :(得分:0)

试试这个,

<?php         
     date_default_timezone_set('Asia/Kolkata');
     $sql=mysql_query("update products set past = CASE WHEN valid_date > NOW() THEN 0 WHEN valide_date < NOW() THEN 1 END where 1 = 1");
?>

这是NOW() mysql函数的文档。

正如您的条件所述,此代码将起作用。