php - 如何检查日期是否已过

标签 php mysql time timestamp

我正在尝试检查某个日期是否已经过去或者是否是 future 的日期。如果结束日期已经过去,那么我不希望它显示。 end_date 是 MySQL 时间戳。现在,即使 end_date 已过,所有新闻文章都会显示。这是我用来检查日期是否已过的代码:

function dateExp( $timestamp ){

   $exp = intval($timestamp);
   $today = intval( time() );


   if( $exp > today ) return true;
   else return false;

}

以下是获取文章并显示它们的代码:

$qry = "select *    
         from   news
         where  display='Y'
         order by priority, date_added, title";

$news = _execQry($qry);


foreach( $news as $n )
{
   if( dateExp($n['end_date']) ){
      echo '<h3>'. $n['title'] .'</h3>';
      echo '<p>'. $n['story'] ;
      echo '<br />Added on '. dateFormat($n['date_added']) .'</p><br />';
   }

}

最佳答案

我建议您修剪查询中的记录,这样您的程序就可以减少需要处理的数据。

$qry = "选择*
摘自新闻
其中显示='Y' 和 end_date >= CurDate()
按优先级、添加日期、标题排序”;

关于php - 如何检查日期是否已过,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/875845/

相关文章:

mysql - 使用大型 IN() 子句或派生表联接优化 MySQL 查询

MySQL 按 ID 连接 2 个表

php - 选择具有相同值的行组

javascript - codemirror PHP 自动完成功能

javascript - 如何交替显示滑动div

mysql - 有效地交换行值

parsing - 更改 time.Time 时区而不重新解析

c++ - 将 unix 时间转换为人类可读的格式

php - 在单独的日/月/年部分显示 new() 数据?

php - 从日期减去若干年