比较 PHP 中的日期
Posted
技术标签:
【中文标题】比较 PHP 中的日期【英文标题】:comparing to date in PHP 【发布时间】:2017-01-19 21:37:10 【问题描述】:大家好,我正在处理这个问题!这对我来说很难!我真的需要帮助,这就是您将在 UI 中看到的内容,
Date Availing the Reservation: 9/12/2016(current date)
Date Needed: mm/dd/yyyy
Date of the Event: 9/26/2016(date 2 weeks from now)
Date Reservation will Expire: 9/15/2016
我想要的是,当需要的日期小于当前日期时,它将显示日期不应该是过去的日期,如果需要的日期等于现在的日期,直到事件的日期是 26,我只是有效期为 27 我将如何做到这一点?我有这个逻辑:
if($date_needed < $date_reserved && $date_needed > $date_of_the_event)
echo "date must not be from the past and date of reservation must be 2 weeks from now";
else
echo "success!";
这段代码对我来说不太好用全部。你能帮我解决这个问题吗?我的第二个问题是,我的数据库中有这个:日期预订将过期。我想那一天是否会在 2016 年 9 月 15 日到来。拥有它的行将自动在数据库中删除或更新它 is_active 将是 0 我该怎么做?非常感谢您的帮助。
【问题讨论】:
您没有显示足够的代码。 $date_needed、$date_reserved、$date_needed 和 $date_of_the_event 是从哪里来的?他们的价值观是什么? 您要在客户端 UI 还是在服务器端进行验证? 这些值是您在 UI 中看到的值。 $date_needed 是需要的日期 $date_reserved 是提供预订的日期,$date_of_the_event 是事件的日期 这些数字或字符串(比较时)不是在显示时...吗?你观察到什么错误?散文谈论现在比较是与事件。现在是活动日期吗? 【参考方案1】:对于客户端验证,请查看示例:http://keith-wood.name/uidatepickervalidation.html
服务器端
Ans 1:简单的方法是及时转换日期并检查还剩多少天
$now = time(); //current date - Date Availing the Reservation
$your_date_needed = strtotime(date('YYYY-MM-DD'));
$datediff = $your_date_needed - $now;
$daysLeft = round($datediff/(60*60*24));
if($daysLeft>0)
echo "success! ".$daysLeft;
else
echo "date should not be from the past";
Ans 2:你需要创建一个具有相同逻辑的php文件,然后你可以使用Cron Job
【讨论】:
先生,我将如何用那个东西做一个逻辑?我的意思是我不习惯那个东西,我不知道发生了什么,我怎么能使用那个东西?以上是关于比较 PHP 中的日期的主要内容,如果未能解决你的问题,请参考以下文章
比较数组数组中的 ID,并在 PHP 中以 desc 顺序仅取一行与日期