从数据库获取日期并检查此日期是否已过

时间:2014-06-01 18:08:00

标签: php

我有一个保存工作的数据库。它包含工作名称和到期日期。我的数据库是 user_job(id,user_id,job_name,日,月,年)。用于在数据库中插入作业的到期日期的表单包括3个下拉列表。一个用户选择日(值1-31)然后是月(值jan到dec)和年(2014到2024)。我使用以下函数来获取服务器的日期:

<?php

$server_date = date('Y-m-d');


$a = mysql_query("select * from `user_job` where `user_id`='$session_user_id'  ");

while($run_job = mysql_fetch_array($a)){

  $the_job_day = $run_job['day'];
  $the_job_month = $run_job['month'];
  $the_job_year = $run_job['year'];
}   

?>

我的问题是,现在是否有可能将服务器的日期与我的数据库中作业的到期日期进行比较。如果过期日期已经过去,只是为了回复消息,&#34;已过期&#34;。有可能这样做吗?

2 个答案:

答案 0 :(得分:2)

$the_job_time = strtotime($the_job_year .'-'. $the_job_month .'-'. $the_job_day);
$current_time = time();
if ($current_time > $the_job_time) {
    // the job have expired
}

但我建议将时间以不同方式存储在数据库中。您可以使用许多不同的日期/时间类型

答案 1 :(得分:0)

按照有效性的顺序,有多种方法可以做到:

  1. 将您的日期存储为数据库中的date列,然后使用select语句与NOW()进行比较
  2. 获取当前时间戳和作业的时间戳,然后进行比较。
  3. 使用DateTime类PHP来使用DateTime::diff()方法(参见the documentation