比较 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 顺序仅取一行与日期

为啥“YYYY-MM-DD”日期格式的两个字符串在PHP中的小于或大于比较工作,即使它们是字符串?

将日期和时间与 MySQL 中的当前时间进行比较

如何在 PHP 中比较单个日期和多个日期

PHP时间日期比较

PHP PHP日期比较