我正在开发一个新闻门户网站,其中的新闻(内容)将在特定时间后过期。问题是我必须一次只显示一个新闻,我不确定如何验证它并检查是否数据库中已经存在相同时长的新闻?
注意用户也可以添加 future (即将到来)的新闻。示例如下
$newsStartDate = '2017-10-10 14:52:10';
$newsEndDate = '2017-10-11 14:53:10';
我在数据库中有 2 个日期时间类型的列(开始、到期)现在我必须知道在选定的持续时间内已经有任何新闻存在 $newsStartDate
, $newsEndDate
还是不是。
最佳答案
最好在数据库中使用 SELECT from database 中的 BETWEEN
进行比较。示例:
SELECT * FROM News WHERE datetime BETWEEN 2017-10-10 14:52:10 AND 2017-10-11 14:53:10;
或者在你的情况下:
SELECT * FROM News WHERE start < NOW() AND expire > NOW();
但是如果你想在 php 中比较日期,你可以使用比较运算符来处理日期:
if ($newsDate > $newsStartDate && $newsDate < $newsEndDate) { }
在这里查看更多:
关于php - 如何验证php中内容的开始和结束日期时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46663936/