php - 如何验证php中内容的开始和结束日期时间

标签 php mysql datetime

我正在开发一个新闻门户网站,其中的新闻(内容)将在特定时间后过期。问题是我必须一次只显示一个新闻,我不确定如何验证它并检查是否数据库中已经存在相同时长的新闻?

注意用户也可以添加 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 check if date between two dates

关于php - 如何验证php中内容的开始和结束日期时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46663936/

相关文章:

php - HTML 中带有子菜单的动态菜单

mysql - 从表中的每个类别中选择最新的一个

MYSQL 使用 UPDATE,WHEN THEN 和 NULL 值

均值的 python 图分布

c# - 如何处理 RemoteApp 中的不同时区

php - 在 Silex 中使用 Symfony Form 2.3

php - 如何在mysql的数据库中存储图像和文本

MySQL添加FOREIGN KEY的问题?

delphi - DateUtils 中的 IncHour 过程

php - 高端 Node.js 框架