0

我需要帮助我的脚本将当前日期与数据库中输入的日期进行比较,我不会做的事情是当数据库中的日期超过当前日期时收到警报消息,如果数据库中的日期接近则发出警报当前日期。当月份不同时,我的代码就会出现问题。脚本在比较当前日期和数据库日期的日期时有效,但是当月份不同时,例如 02.05.2012 和 28.04.2012,脚本表现得好像 28.04.2012 还没有到来,他没有考虑月份. 我希望这个问题很清楚。这是到目前为止的编码。有任何想法吗?

$vrjedi_do_osobna = $row['vrjedi_do_osobna'];

$current_date = date('d.m.Y');

$query = mysql_query("SELECT * from albums where vrjedi_do_osobna = '$current_date'
                                AND $id = 'userid'");




    $ime = $row['dosjename'];
    $prezime = $row['dosje_prezime'];
    $diff = abs(strtotime($current_date) - strtotime($vrjedi_do_osobna));

    $years = floor($diff / (365*60*60*24));
    $months = floor(($diff - $years * 365*60*60*24) / (30*60*60*24));
$days = floor(($diff - $years * 365*60*60*24 - $months*30*60*60*24)/ (60*60*24));
if($current_date < $vrjedi_do_osobna && $days < 10 && $days > 0 && $years < 1 && $months < 1)
    {
echo"<font face='gregorian' size='2'>";
   printf("&nbsp;<img src='slike_izgled/pj_sat.png' width='20' height='30'/>&nbsp;Osobna  iskaznica radnika $ime $prezime ističe za %d dana\n", $days);
echo"</font><br>";
    }
    if ($vrjedi_do_osobna <= $current_date)
                    {                                           
    echo "                            

&nbsp;<img src='slike_izgled/usklik.gif' width='25' height='25'>&nbsp;<font face='gregorian' size='2'>Osobna iskaznica radnika $ime $prezime-a je istekla!</font>&nbsp;&nbsp;&nbsp;&nbsp;<a href='viewdosje.php?album=".$row['ideo']."'>Pregled dosjea</a><br>

    "; 
// Do something

}
4

3 回答 3

2

你看过 PHP date_diff 函数 http://php.net/manual/en/function.date-diff.php

或者,您可以从 mysql 中选择日期差异作为查询的一部分http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_datediff

SELECT *,DATEDIFF(vrjedi_do_osobna,NOW()) from albums where vrjedi_do_osobna = '$current_date' AND $id = 'userid'"

这将返回正数或负数天数差异

于 2012-05-02T13:07:27.877 回答
0

使用该strtotime功能。然后,您可以比较数字。

于 2012-05-02T13:03:54.637 回答
0

您可以存储在变量中 strtotime($current_date) - strtotime($vrjedi_do_osobna)并通过将其与 0 进行比较来在 IF 中使用它,以查看当前日期是否已过。

于 2012-05-02T13:05:29.253 回答