我需要帮助我的脚本将当前日期与数据库中输入的日期进行比较,我不会做的事情是当数据库中的日期通过当前日期时获取警报消息,并警告来自数据库的日期在当前日期附近。当月份不同时,我的代码会出现问题。脚本在比较数据库日期的当前日期和日期时起作用,但是当月份不同时,例如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(" <img src='slike_izgled/pj_sat.png' width='20' height='30'/> Osobna iskaznica radnika $ime $prezime ističe za %d dana\n", $days);
echo"</font><br>";
}
if ($vrjedi_do_osobna <= $current_date)
{
echo "
<img src='slike_izgled/usklik.gif' width='25' height='25'> <font face='gregorian' size='2'>Osobna iskaznica radnika $ime $prezime-a je istekla!</font> <a href='viewdosje.php?album=".$row['ideo']."'>Pregled dosjea</a><br>
";
// Do something
}
答案 0 :(得分:2)
您是否查看过PHP date_diff函数http://php.net/manual/en/function.date-diff.php
另外,您可以在查询http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_datediff
中选择mysql中的日期差异SELECT *,DATEDIFF(vrjedi_do_osobna,NOW()) from albums where vrjedi_do_osobna = '$current_date' AND $id = 'userid'"
将返回正天数或负天数差异
答案 1 :(得分:0)
使用strtotime
功能。然后,您可以比较数字。
答案 2 :(得分:0)
您可以存储在变量中
strtotime($current_date) - strtotime($vrjedi_do_osobna
)并在IF中使用它,将其与0进行比较,以查看当前日期是否通过。